我有一个文件,ote.truststore,我使用Keystore Explorer 5.1设置了自定义密码,我将它用于在Tomcat 7 / Java 1.7下运行的API servlet。 我无法理解的是,即使我没有在代码,配置或ssl.properties中的任何地方指定密码,servlet也是如何管理打开文件的。
我知道servlet正在打开正确的文件,因为我启用了javax.net.debug.all,我可以在日志中看到它找到的可信CA证书(“CN = GeoTrust Primary Certification Authority - G3” )。
我确认我可以将密码更改为任意随机字符串,并且servlet仍会打开信任库。我还验证了如果我删除文件并重新启动servlet,我会得到“trustStore is:No File Available,using empty keystore”。在日志中。
JKS格式中是否存在密码不适用于信任库文件的内容?这对我来说似乎很奇怪。当我尝试在Keystore Explorer中打开文件而未指定正确的密码时,它无法解密。
答案 0 :(得分:2)
读取信任库不需要密码。不涉及私钥。
您仍需要密码才能修改信任库。此外,在读取信任存储区时,如果提供了密码,则可以使用它来验证信任存储区的完整性。
参考 - http://bayou.io/release/0.9/javadoc/bayou/ssl/SslConf.html#trustStorePass-java.lang.String-