参考:https://blog.scottlowe.org/2018/08/20/troubleshooting-tls-certificates/

我最近正在写一篇博客文章,内容涉及使用TLS证书进行加密和身份验证,但遇到了错误。我检查了所有“常见的嫌疑犯”,包括AWS安全组,主机级防火墙规则(通过iptables)以及应用程序配置本身,但仍然无法使其正常工作。当我终于找到错误时,我认为如果其他人发现它有用时,可能值得分享我使用的命令。

该错误本身表现出来,因为我能够在回送地址上成功连接到应用程序(使用TLS),但无法成功分配给网络适配器的IP地址。使用ss -lnt,我验证了该应用程序正在侦听所有IP地址(而不仅仅是回送),并且如前所述,我还验证了AWS安全组和主机级防火墙没有起作用。这使我相信我的TLS配置有问题。

由于应用程序的错误消息非常模糊(甚至与远程TLS无关),所以我决定尝试使用curl来验证TLS是否正常工作。首先,我运行以下命令:

curl --cacert /path/to/CA/certificate https://127.0.0.1 -v

经过一些输出后,curl报告此错误:

curl: (35) gnutls_handshake() failed: certificate is bad

最初,我认为这是证书确实有问题,但是我很快意识到这是一个预期的错误-启用了TLS身份验证,并且我没有提供curl正确的参数。因此,这次我使用正确的参数再次尝试:

curl --cacert /path/to/CA/certificate \
--cert /path/to/client/certificate \
--key /path/to/client/certificate/key \
https://127.0.0.1 -v

这次连接成功,并且curl命令的输出显示TLS加密和身份验证就位且成功。

【curl】certificate is bad 问题解决的更多相关文章

  1. PHP Curl Accept-Encoding: gzip乱码问题解决

    在使用php curl对接hugegraph的过程中,发现向gremlin发送结果返回乱码,截图如下: 发现返回乱码的乱码请求中有Accept-Encoding: gzip,即返回的内容采用了gzip ...

  2. docker 1.10.3 里php出现 curl 56错误码问题解决

    http://www.cnblogs.com/fengwei/p/5899018.html

  3. php中curl返回false的解决办法

    本文介绍一下自己在使用curl中遇到的问题解决办法.希望可以帮助到大家. 原文地址:代码汇个人博客 http://www.codehui.net/info/37.html 首先来看一个封装的curl函 ...

  4. 使用CURL出现certificate verify failed错误的解决方法

    今天使用CURL访问微信平台接口时遇到一个错误,返回错误代码如下: ? 1 2 SSL certificate problem, verify that the CA cert is OK. Deta ...

  5. cURL error 60: SSL certificate problem...

    php在curl的时候报错 cURL error 60: SSL certificate problem: unable to get local issuer certificate (see ht ...

  6. curl: (60) SSL certificate problem: unable to get local issuer certificate 错误

    今天同事做微信管理的项目,请求接口返回如下错误SSL certificate problem: unable to get local issuer certificate. 此问题的出现是由于没有配 ...

  7. curl: (60) SSL certificate problem: unable to get local issuer certificate

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  8. ...cURL error 60: SSL certificate problem: unable to get local issuer certificate...

    问题描述: 在做PHP爬虫的时候, 安装了 guzzle 和 dom-crawler 之后, 调用的时候出现问题, 如下 报错内容:  Fatal error: Uncaught GuzzleHttp ...

  9. PHP curl出现SSL certificate problem: self signed certificate in certificate chain

    使用PHP curl请求https的时候出现错误“SSL certificate problem: self signed certificate in certificate chain”,这种情况 ...

随机推荐

  1. php图片防盗链

    利用.htaccess 重写规则防止图片被盗链 2. 找到httpd.conf 打开重写规则 3.

  2. 如何更改scratch3.0的文字

    首先,我们来看以下的图,我们需要更改scratch3.0的文字,例如文件,新作品,从电脑上传等文字. 打开源码,目录src/compents/menu-bar/menu-bar.jsx 大家会发现,所 ...

  3. web安全漏洞相关

    1,密码输入框input应该 设置:autocompete="off" 2,设置HTTPOnly,禁止客户端修改cookie 文章:Cookie中的HttpOnly详解 3,不要展 ...

  4. Kotlin协程作用域与构建器详解

    在上次我们是通过了这种方式来创建了一个协程: 接着再来看另一种创建协程的方式: 下面用它来实现上一次程序一样的效果,先来回顾一下上一次程序的代码: 好,下面改用runBlocking的方式: 运行一下 ...

  5. CentOS7.5下搭建的SVN实现删除权限控制和必须进行注释的提示操作

    需求:上传到SVN服务器的项目文件如果被普通用户误删了,虽然能恢复,但是如果删除的文件比较多,注释的内容简单,恢复的时候需要一个个的保存到本地,然后再上传到服务器上,会很麻烦,可能还会出现提交代码版本 ...

  6. c#2.0锐利体验《泛型编程》读书笔记

    1.c#泛型及机制 Class Stack<T> { } T 其实为type的缩小,不过也可为其他字符代替T ,被称为“泛型类型”  T为晚绑定的,在编译的时候还不能确定T的确切类型. 2 ...

  7. Linux配置静态IP以及解决配置静态IP后无法上网的问题

    式一.图形界面配置

  8. 线性回归和Ridge回归

    网址:https://www.cnblogs.com/pinard/p/6023000.html 线性回归和交叉验证 import matplotlib.pyplot as plt import nu ...

  9. gj的交换机在升级了ios之后最新数据不刷新,

    下午2点开始升级5点结束,之后监控项获取不到最新数据,显示网络接口一直是down的状态,但是登上设备之后显示的是正常up状态, 怀疑是自动发现规则的问题,但是查看之后都是1个小时,应该不会, 这时候诡 ...

  10. 洛谷P4047 [JSOI2010]部落划分题解

    洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落 ...