我将PEM文件复制到/ usr / local / share / ca-certificates /中,然后运行update-ca-certificates,并validation所得到的证书现在包含在/etc/ssl/certs/ca-certificates.crt中由curl-config –ca打印的文件。 我也证实openssl s_client -connect example.com:443所打印的证书与我的PEM文件是一样的。 但是我仍然继续得到“错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书validation失败”消息。 即使我使用curl的–cacert选项(如http://curl.haxx.se/docs/sslcerts.html中所述)来告诉它使用哪个证书,也会发生这种情况。
如果我使用curl -k完全禁用了证书validation,但是我不想这样做,因为我正在尝试编写一个testing工具来testingSSL。
如果我在lynx中访问相同的URL,它通常会抱怨,如果有任何SSL错误,它工作正常。 但是我不能仅仅使用Lynx来testing这个testing工具,除非我能find一些方法让Tornado的AsyncHTTPClient使用Lynx而不是libcurl。 安装自签名证书似乎没有任何意义,满足Lynx而不是curl。
我在使用Vagrant的VirtualBox中使用Ubuntu 12.04 LTS; 它curl7.22.0。 SSL终结代理是在同一台机器上运行的Nginx / 1.3.13,域名通过/ etc / hosts中的条目指向127.0.0.1。
创build用于testinglocalhost的自签名证书,并让浏览器接受它
如果自签名CA根证书导入机器存储,我可以在没有testing模式的64位Windows上安装自签名驱动吗?
在Windows XP上将自签名证书安装为受信任的根
信任自签名证书来validation服务器(Windows上的.NET客户端)
如何使用.pfx和.cer文件创build自签名证书?
任何线索可能是什么问题? 谢谢。
解决Nodejs https.request生产中的自签名证书错误
如何为Google ARC“分离”应用程序安装自签名证书?
创build一个x509.v3自签名的SAML签名和encryption证书,Windows 8 R2
当我们使用cURL检索未使用CA签名证书的HTTPS站点时,会出现以下问题。
curl https://example.selfip.com curl: (60) SSL certificate problem,verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify Failed More details here: http://curl.haxx.se/docs/sslcerts.html
当然,这可以简单地通过使用-k选项来克服。
解决方案:
步骤1
确定您的OpenSSL安装使用的目录。
root@ubuntu:~# openssl version -d OPENSSLDIR: "/usr/lib/ssl"
第2步
切换到该目录并列出目录内容。 你应该看到一个名为“certs”的目录。
root@ubuntu:~# cd /usr/lib/ssl && ls -al
第3步
切换到该目录。
root@ubuntu:/usr/lib/ssl# cd certs
列出目录内容。 您应该从符号链接中看到证书实际存储在/usr/share/ca-certificates 。
步骤4
切换到/usr/share/ca-certificates目录并在其中添加自签名证书(例如:your.cert.name.crt)
第5步
切换到/etc目录并编辑文件ca-certificates.conf 。
root@ubuntu:# cd /etc root@ubuntu:# nano ca-certificates.conf
将你的your.cert.name.crt添加到文件( ca-certificates.conf )并保存。
最后一步:
执行程序update-ca-certificates –fresh 。
注意:您可能希望在执行命令之前备份/etc/ssl/certs 。
root@ubuntu:# update-ca-certificates --fresh Clearing symlinks in /etc/ssl/certs...done. Updating certificates in /etc/ssl/certs....done. Running hooks in /etc/ca-certificates/update.d....done.
在目标HTTPS网站上进行卷曲测试,现在就可以运行。
资源