使用 OpenSSL 验证 SSLCertificateChainFile

使用 OpenSSL 验证 SSLCertificateChainFile

我在客户端的服务器上遇到了这样的问题,因为我不知道如何在其他证书中验证 SSLCertificateChainFile。我有一个包含大量 SSL 证书密钥和相应文件(.crt、.key)的文件夹。另外,我知道 my.example.com 站点的 SSLCertificateFile 和 SSLCertificateKeyFile。我检查了它们之间的 MD5 哈希值:

openssl x509 -noout -modulus -in my-exam.crt| openssl md5
(stdin)= d41d8cd98f00b204e9800998ecf8427e

openssl rsa -noout -modulus -in my-exam.key | openssl md5
(stdin)= d41d8cd98f00b204e9800998ecf8427e

其他证书文件具有其他名称,并且与my-exam.

我的问题是: 如果我们已经知道SSLCertificateFile和SSLCertificateKeyFile,如何使用OpenSSL在其他证书文件中找出SSLCertificateChainFile?

答案1

做一个for循环:

for file in  *.pem; do
     if  openssl verify -CAfile "$file" my-exam.crt>/dev/null 2>&1; then
          echo "Chainfile:$file";
     fi;
done

例如。输出:

Chainfile:ca_chain.pem

我假设链文件是 pem 格式,否则在 for 循环中更改它。

答案2

经过不长的研究,我找到了验证 SSLCertificateChainFile 与我的 SSLCertificateFile 和 SSLCertificateKeyFile 相关的方法。当 OpenSSL 验证证书时,它首先创建整个证书链。以下命令

sudo openssl verify -verbose -CAfile sf_bundle.crt my-exam.crt帮助我验证我的 SSLCertificateChainFile ( sf_bundle.crt)。

输出必须是:my-exam.crt: ok

对于其他 .crt 文件,我只得到错误。

相关内容