如何以编程方式查找我的JVM默认TrustManager使用的java密钥库文件?
This question类似,但答案实际上是关于应使用哪个密钥库文件。我想在我的程序中显示JVM 已加载的实际密钥库文件。
更新:问题:'为什么我不知道?答案是我的应用程序在我无法控制的客户环境中运行,所以我不知道。
更新:问题:'没有默认密钥库,但是有一个默认的信任库':我已经更新了我的问题。我正在尝试学习默认信任库使用的密钥库。
更新:这个问题背后的动力是我想在我的应用程序中显示密钥库需要更新的内容。操作应用程序的管理员经常无法确定正在使用的正确的jvm,更不用说正确的密钥库了。我想给管理员一个线索,他们需要更新哪个密钥库。是的,我知道管理员应该'知道很多关于java和密钥的东西,他们可能不知道。
答案 0 :(得分:0)
如何以编程方式查找我的JVM默认TrustManager使用的java密钥库文件?
如果设置,则由javax.net.ssl.trustManager,
的内容给出,否则它是JRE文件夹中的lib/security/jssecacerts
文件(如果存在),否则它是lib/security/cacerts
文件。
这是JSSE Reference Guide中指定的全部内容。
这个问题背后的动力是我想在我的应用程序中调度keystore需要更新的内容。
我不知道为什么你认为Java提供的信任库文件需要更新,但你错了,除非你正在处理自签名证书,在这种情况下真正的答案是"不要"。