您是否不需要密码即可访问信任库(由Java keytool制成)?


问题内容

我刚刚使用Java密钥工具创建了一个信任库(用于不具有CA证书的服务器的服务器身份验证)。但是我只是注意到一些奇怪的事情。我正在这样启动我的客户:

java -Djavax.net.ssl.trustStore=<PATHSTUFF>/client.keystore -classpath <STUFF> Client

(注意:未指定密码)

上述通话有效。


但是,当我尝试这样做:

java -classpath <STUFF> Client

这是行不通的。(显然,它不起作用,它需要信任库)。


我原本需要通过此选项(但我没有):

-Djavax.net.ssl.trustStorePassword=mypass

问题 :访问密码存储区是否不需要密码?密码仅供修改吗?密钥库又如何呢?


问题答案:

密码用于保护密钥库的完整性。如果您不提供任何商店密码,您仍然可以阅读密钥库的内容。该命令keytool -list演示了此行为(将其与空密码一起使用)。