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

How to verify if keystore has all the certificates needed to connect to server?

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

目前,我运行按照命令从服务器

检查证书
openssl s_client -connect <server>:<port>

打印证书后,我列出密钥库并手动验证 DN、颁发者、主题。

keytool -list -v -keystore keystore.jks

我想知道是否有命令或任何其他方式将 keystore.jks 提供给 openssl 命令并验证证书。

您可以尝试以下命令:-

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

-keystore is the path of keystore.

-storepass is the password for the keystore

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

命令与 openssl s_client -connect $HOST:$PORT -CAfile <path-to-ca.pem>

相同