Command-Line

如何在命令行上驗證 SSL 證書?

  • March 29, 2021

我正在嘗試驗證/驗證此處儲存的 rsa 密鑰、ca-bundle 和證書是否正常。它們不是由網路伺服器提供服務的。我該如何驗證它們?

假設您的證書採用 PEM 格式,您可以執行以下操作:

openssl verify cert.pem

如果您的“ca-bundle”是包含 PEM 格式的其他中間證書的文件:

openssl verify -untrusted ca-bundle cert.pem

如果您的 openssl 未設置為自動使用一組已安裝的根證書(例如 in /etc/ssl/certs),那麼您可以使用-CApath-CAfile指定 CA。

這是驗證證書鏈的單行程式碼:

openssl verify -verbose -x509_strict -CAfile ca.pem -CApath nosuchdir cert_chain.pem

這不需要在任何地方安裝 CA。

有關詳細資訊,請參閱https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-work

更新

正如 Klaas van Schelven 所指出的,上面的答案具有誤導性,因為 openssl 似乎只驗證每個文件的單個頂級證書。因此,有必要為放置在單獨文件中的每個證書鏈節點發出多個驗證命令

引用自:https://unix.stackexchange.com/questions/16226