“验证返回码:21(无法验证第一张证书)”

时间:2017-04-11 19:13:22

标签: openssl

我遇到麻烦,openssl抱怨无法验证本地颁发的证书,我也有CA链。除了LOCAL CA Chain Cert(CER,PEM,CRT)之外,我还拥有本地颁发的(PEM和CRT)证书。根和颁发者是同一台服务器。比较两个证书上的文本,两者都匹配“issuer:”字段。这是redhat Linux服务器。 我收到错误“验证错误:num = 20:无法获得本地颁发者证书”和“验证返回码:21(无法验证第一个证书)”

我不知道该怎么找。感谢任何反馈。

由于

乔恩

疑难解答步骤

  • 我使用cerutil certutil -d / etc / pki / nssdb -A -t“C ,,”-n DomainA1-Server1CA -i /root/DomainA1-Server1CA.cer

-Ran certutil -d / etc / pki / nssdb -L我可以在那里看到证书

   Certificate Nickname   Trust Attributes 
                          SSL,S/MIME,JAR/XPI 
   DomainA1-Server1CA     C,,
  • Ran openssl s_client -connect ServerA2:443 -CAfile /root/certs/DomainA1-Server1CA.cer,tried with(.CRT and .PEM),上面有2个错误。 -Ran openssl s_client -connect ServerA2:443 -CApath / root / certs,尝试使用(.CRT和.PEM),上面有2个错误。

  • Ran openssl s_client -connect ServerA2:443。上面有2个错误。

颁发的Cert片段

    Data:
    Version: 3 (0x2)
    Serial Number:
    54:a9:50:a3:00:01:00:00:14:47
    Signature Algorithm: sha1WithRSAEncryption
    Issuer: DC=com, DC=domainA1, CN=DomainA1-Server1CA
    Validity
    Not Before: April  5 16:45:48 2017 GMT
    Not After : April  5 16:45:48 2019 GMT
    Subject: C=US, ST=NY, L=CityA, O=CompanyNAME, OU=IT,
    CN=ServerB1.DomainA1.com 

CA Chain Cert

    Data: Version: 3 (0x2) 
    Serial Number: 19:11:eb:af:4c:d5:a9:94:49:ka:2f:41:f2:e1:09:g2 
    Signature Algorithm: sha256WithRSAEncryption 
    Issuer: DC=com, DC=domainA1, CN=DomainA1-Server1CA 
    Validity 
    Not Before: Aug 15 18:41:45 2015 GMT 
    Not After : Aug 15 18:41:45 2025 GMT Subject: DC=com, DC=domainA1,                 
    CN=DomainA1-Server1CA Subject Public Key Info: 
    Public Key Algorithm: rsaEncryption Public-Key: (2048 bit)

        ...C.A
    X509v3 Key Usage:
        Digital Signature, Certificate Sign, CRL Sign
    X509v3 Basic Constraints: critical
        CA:TRUE
    X509v3 Subject Key Identifier:

1 个答案:

答案 0 :(得分:-1)

  

在服务器上启用SSL证书后。

您可以通过波纹管命令进行测试。

$ openssl s_client -connect <server name>:443

输出

CONNECTED(00000003)
depth=0 OU = Domain Control Validated, CN = <server-name>
verify error:num=20:unable to get local issuer certificate
verify return:1
-----------
-----------
 Start Time: 1492427495

    Timeout   : 300 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---

如果您遇到以上错误(返回代码:20 ..或返回代码21)

/etc/apache2/site-available/default-ssl.conf 文件

中添加波纹管线
SSLCertificateFile      /home/ubuntu/cert/e4720ca1b42c1ebb.crt
SSLCertificateKeyFile /home/ubuntu/cert/server.key

SSLCertificateChainFile /home/ubuntu/cert/gd_bundle-g2-g1.crt

再次运行

$ openssl s_client -connect <server name>:443

示例:$ openssl s_client -connect google.com:443

<强>输出:

CONNECTED(00000003)
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2
verify return:1
------------
------------
Start Time: 1492431152
Timeout   : 300 (sec)
Verify return code: 0 (ok)

如果仍然出现错误,则应重新生成 SSL KEY 和附加服务器

注意:Apache服务器配置。

希望它能解决问题:)