如何验证密钥库是否具有连接到服务器所需的所有证书?

pot*_*aim 10 ssl openssl keystore

我一直在努力在 ssl 上设置我们的环境。我们从 CA 获取密钥库文件。这是一个相当自动化的过程。然而,我们主要是在客户端挣扎。

目前,我运行以下命令来检查服务器的证书

openssl s_client -connect <server>:<port>
Run Code Online (Sandbox Code Playgroud)

一旦它打印了证书,我就会列出密钥库并手动验证 DN、颁发者、主题。

keytool -list -v -keystore keystore.jks
Run Code Online (Sandbox Code Playgroud)

我想知道是否有命令或任何其他方式来提供命令keystore.jksopenssl验证证书。

小智 21

您可以尝试以下命令:-

openssl s_client -verify 100 -showcerts -connect $HOST:$PORT -CAfile  <(keytool -list -rfc -keystore truststore.jks -storepass changeit) 
Run Code Online (Sandbox Code Playgroud)

-keystore 是密钥库的路径。

-storepass 是密钥库的密码

这将加载您的密钥库作为输入-CAfile

命令的工作方式与openssl s_client -connect $HOST:$PORT -CAfile <path-to-ca.pem>