OpenSSL:无法validationExperian URL的第一个证书

我正尝试在Ubuntu 10.10中使用OpenSSL客户端validation与Experian的SSL连接。

openssl s_client -CApath /etc/ssl/certs/ -connect dm1.experian.com:443 

问题是连接closures与validation返回代码:21(无法validation第一个证书)。

我已经检查了证书列表,并且用于签署Experian(VeriSign 3级安全服务器CA – G3)的证书包含在列表中。

 /etc/ssl/certs/ca-certificates.crt 

但是我不知道为什么它不能validation第一个证书。 提前致谢。

整个回应可以在这里看到: https : //gist.github.com/1248790

第一个错误信息是告诉你更多关于这个问题:

validation错误:num = 20:无法获取本地颁发者证书

最终实体服务器证书的颁发证书颁发机构是

VeriSign 3级安全服务器CA – G3

仔细查看你的CA文件 – 你不会find这个证书,因为它是一个中介CA–你发现的是一个类似名称的VeriSign的G3公共主CA。

但为什么其他连接成功,但这不是? 问题是服务器configuration错误(请参阅使用-debug选项)。 “好”的服务器在握手过程中发送整个证书链,因此为您提供必要的中间证书。

但是,失败的服务器向您发送最终实体证书,而OpenSSL不能“即时”(通过解释授权信息访问扩展可能)下载缺失的中间证书。 因此,你的尝试使用s_client失败,但是如果你使用例如FireFox(它支持“证书发现”function)浏览到相同的URL,它将成功。

解决此问题的选项是通过使服务器发送整个链来解决此问题,或者通过将缺less的中间证书作为客户端parameter passing给OpenSSL来解决此问题。

添加额外的信息浮雕的答案。

简而言之,证书链中存在不正确的证书。

例如,您的证书颁发机构最有可能给您3个文件。

  • your_domain_name.crt
  • DigiCertCA.crt#(或者你的authentication机构的名字是什么)
  • TrustedRoot.crt

你很可能将所有这些文件合并为一个包。

 -----BEGIN CERTIFICATE----- (Your Primary SSL certificate: your_domain_name.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (Your Intermediate certificate: DigiCertCA.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (Your Root certificate: TrustedRoot.crt) -----END CERTIFICATE----- 

如果你创build了这个包,但是使用了一个旧的或者不正确的版本的中间证书(在我的例子中是DigiCertCA.crt),你将会得到你描述的确切的症状。

  • SSL连接似乎从浏览器工作
  • 其他客户端的SSL连接失败
  • curl失败,错误:“ curl:(60)SSL证书:无法获得本地发行者证书 ”
  • openssl s_client -connect给出错误“validation错误:num = 20:无法获得本地颁发者证书”

重新下载证书颁发机构的所有证书,并重新制作一个包。

我遇到了在Amazon Elastic Load Balancer实例上安装我的签名证书的相同问题。

所有似乎都通过浏览器(铬)find,但通过我的Java客户端访问该网站产生了exceptionjavax.net.ssl.SSLPeerUnverifiedException

我没有做的是在我的ELB实例上安装证书时提供“证书链”文件(请参阅https://serverfault.com/questions/419432/install-ssl-on-amazon-elastic-load-balancer-with -godaddy-wildcard-certificate )

我们只从签名机构发送了我们签署的公钥,所以我必须创build自己的证书链文件。 使用我的浏览器的证书查看器面板,我导出签名链中的每个证书。 (重要的证书链的顺序,请参阅https://forums.aws.amazon.com/message.jspa?messageID=222086