验证返回代码:21(无法验证第一个证书)

验证返回代码:21(无法验证第一个证书)

OpenSSL 抱怨无法验证本地颁发的证书,因为我也有 CA 链。除了本地 CA 链证书 (CER、PEM、CRT) 外,我还有本地颁发的证书 (PEM 和 CRT)。根和颁发者是同一台服务器。比较两个证书上的文本,两者的“颁发者:”字段都匹配。这是 RedHat Linux 服务器。

我收到错误“验证错误:num = 20:无法获取本地颁发者证书”和“验证返回代码:21(无法验证第一个证书)”。

我不知道该再寻找什么了。

故障排除步骤

  • 我确实使用以下方法将颁发者 CA 证书添加到 Linux 证书中cerutil certutil -d /etc/pki/nssdb -A -t "C,," -n DomainA1-Server1CA -i /root/DomainA1-Server1CA.cer

  • Rancertutil -d /etc/pki/nssdb -L和我可以在那里看到证书:

    证书昵称信任属性 SSL,S/MIME,JAR/XPI DomainA1-Server1CA C,,

  • 运行openssl s_client -connect ServerA2:443 -CAfile /root/certs/DomainA1-Server1CA.cer,尝试使用(.CRT 和 .PEM),出现上述两个错误。

  • 运行openssl s_client -connect ServerA2:443 -CApath /root/certs,尝试使用(.CRT 和 .PEM),出现上述两个错误。

  • 运行openssl s_client -connect ServerA2:443,出现上述两个错误。

颁发的证书片段

    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 链证书

    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:

相关内容