首页 > 解决方案 > 验证最终用户证书和 SubCA 失败 OpenSSL

问题描述

我正在使用 3 个服务器进行实验室:

RootCA --> SubCA --> OpenVPN。

我使用 RootCA 签署了我的 SubCA 并验证它是否正常。

root@quanlm-rootca-openssl-lab:~/ca/root# openssl  verify -CAfile rootca.crt subca1/subca.crt 
subca1/subca.crt: OK

在签署 SubCA 时,我还在 RootCA 的 ca.conf 中设置了 X509V3 扩展:

        X509v3 extensions:                                                              
            X509v3 Basic Constraints:                                                   
                CA:TRUE

接下来,我使用我的 subCA 签署 OpenVPN 服务器证书,当我验证证书时它失败,但是当我验证 crl 时,它可以

root@quanlm-subca-openssl-lab:~/ca/subca# openssl verify -crl_check -CAfile vpnserver/vpnserver.crl.chain vpnserver/vpnserver.crt
vpnserver/vpnserver.crt: OK

root@quanlm-subca-openssl-lab:~/ca/subca# openssl verify -CAfile subca.crt 
vpnserver/vpnserver.crt
CN = SubCA, ST = Ha Noi, C = VN, emailAddress = rootca@actvn.edu.vn, O = Hoc Vien ky thuat mat ma, OU = Lop AT14
error 2 at 1 depth lookup: unable to get issuer certificate
error vpnserver/vpnserver.crt: verification failed

那么有人可以帮我解决这些问题吗?我无法运行 openVPN

Thu Nov  4 16:16:17 2021 us=279982 VERIFY ERROR: depth=1, error=unable to get issuer certificate: CN=SubCA, ST=Ha Noi, C=VN, emailAddress=rootca@actvn.edu.vn, O=Hoc Vien ky thuat mat ma, OU=Lop AT14
Thu Nov  4 16:16:17 2021 us=280016 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

标签: opensslopenvpnca

解决方案


我有两个建议:

  1. 为 openssl verify 命令添加详细标志(-verbose 标志),以查看错误的确切性质
  2. 将 RootCA 证书存储在您机器的 ROOT-CA 存储中 - 我认为 openssl 会尝试验证完整的证书链,但无法验证 SubCA(过程会有所不同,具体取决于您使用的 Linux 发行版)

推荐阅读