他の証明書では、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
短い研究の最後に、SSLCertificateFileとSSLCertificateKeyFileに関してSSLCertificateChainFileをチェックする方法を見つけました。 OpenSSL は、証明書を検証する際に最初に証明書チェーン全体を生成します。次のコマンド
sudo openssl verify -verbose -CAfile sf_bundle.crt my-exam.crt
私のSSLCertificateChainFile()を検証するのに役立ちますsf_bundle.crt
。出力は次のようになります。
my-exam.crt: ok
他の.crtファイルではエラーのみが発生します。