【发布时间】:2021-11-04 10:36:16
【问题描述】:
我正在使用 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
我还在 RootCA 的 ca.conf 中设置 X509V3 扩展,同时签署 SubCA:
X509v3 extensions:
X509v3 Basic Constraints:
CA:TRUE
接下来,我使用我的 subCA 签署 OpenVPN 服务器证书,当我验证证书时它失败,但当我验证 crl 时,它 OK
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
【问题讨论】:
-
openssl verify默认情况下只接受以根结尾的链。要仅针对子(纵)CA 证书验证叶子,请在 1.0.2 中添加-partial_chain。您的第一个表单有效,因为在-CAfile中,您不仅提供了完整的链subCA;还提供了完整的链。不需要-crl_check。这不是编程或开发问题,因此不是主题。