我有两个SSL证书:
snipsalonsoftware.com ,目前正在使用并正常工作。 app.snipsalonsoftware.com ,已经购买但尚未安装。 我现在想要做的只是validationsnipsalonsoftware.com证书的有效性,以便当我尝试validationapp.snipsalonsoftware.com ,我知道我正在得到一个有意义的答案。
这是Comodo通过DreamHost的专业签名证书,而不是自签名证书。 我如何使用openssl或其他方法validation信任链?
下面是我尝试的时候所得到的结果:
$ openssl verify domain.pem domain.pem: /OU=Domain Control Validated/OU=Provided by New Dream Network, LLC/OU=DreamHost Basic SSL/CN=snipsalonsoftware.com error 20 at 0 depth lookup:unable to get local issuer certificate
但对我来说,就像是啊,当然,你不能得到当地的证书 – 没有一个。 我不明白我应该如何validation专业签名证书。
一般来说,这意味着OpenSSL的默认CApath不包含签名您正在检查的证书 – 通常是中间证书。
您需要获取中间件的副本(大多数CA将提供,或者您可以从其信任正在工作的SSL连接中获取它),并使用-CAfile intermediate.pem将其指向openssl命令。
您应该能够从您的提供商下载所有形成信任链的证书,从您签署的证书到签署的证书颁发机构。
然后使用openssl verify使用这些证书。 检查verify(1)命令的-CAfile和-CApath选项以了解如何。
您也可以使用SSL-Checker等在线工具,以graphics方式显示您的服务器所呈现的信任链,并帮助您确定链中缺less哪些证书
您必须获得所有证书CA_Chain.crt:
:~$ cat RootCA.crt IntermediateCert1 IntermediateCert2 > CA_Chain.crt :~$ openssl verify -CAfile CA_Chain.crt website.crt (website.crt sign by IntermediateCert2)