通过CLI验证针对Java证书存储的证书

Bri*_*ian 8 java verification certificate keystore keytool

如何通过命令行对Java证书存储区验证X509(或DER格式)证书?

我已经研究过使用该keytool实用程序,但看起来它只处理导入/导出/显示功能(无需验证).

编辑:它看起来好像keytool可以用于验证,但只有在尝试导入时才能使用.我想更好的问一个问题的方法是,是否有更加被动的方法(如:不修改密钥库).谢谢!

bha*_*nki 13

您可以使用keytoolexport从Java密钥库所需的证书(那些在链则需要验证的)到X.509文件.然后,将它们连接成一个文件.最后,用于openssl进行验证.

openssl verify -CAfile concatenated-certs.crt cert-to-verify.crt
Run Code Online (Sandbox Code Playgroud)

这不是一个完美的解决方案,因为它涉及从证书库中弹出证书,但它应该根据您的开始工作.


bet*_*hmi 3

此页面可能过于简单化:

http://java.sun.com/docs/books/tutorial/security/toolfilex/rstep1.html

但看起来即使使用 keytool 导入也不能真正验证证书。我没有看到任何关于根据另一个受信任证书的签名验证传入证书的签名的描述。

jarsigner 将验证已签名 jar 上的签名,但不会执行任何操作来验证用于签署 jar 的证书上的签名。

恐怕您要么必须编写一个工具来进行验证,要么寻找一个可以完成验证的商业工具。我认为某些 PKI 工具包会有一个证书验证工具可以做到这一点。