【发布时间】:2012-07-17 11:20:03
【问题描述】:
密钥库(无论是用于“密钥库”还是“信任库”)在创建后使用load() 方法进行初始化。一个版本需要与密钥库文件对应的InputStream,以及解密文件的密码。以编程方式向该方法提供密码对我来说似乎很奇怪。
例如,服务器使用密钥库来存储其私钥和相关证书。密钥库中存在的信息是明智的,因此受密码保护。以编程方式将密码传递给load() 方法有什么问题?最佳做法是什么?
另一个例子,但现在是关于信任库的。客户端有一个信任库,用于存储受信任 CA 的证书。据我了解,信任库不包含服务器的证书,而仅包含允许验证服务器证书的 CA 证书。我看到的一个信任库示例是 JRE 中的一个(在 security 文件夹中 - cacerts)。通过查看配置,我可以看到它受到默认密码changeit 的保护。我知道信任库是使用密钥库实现的,因此它(或者可能是可选的?)使用密码进行加密。但是,由于信任库通常将公共信息(受信任的 CA 的证书)存储在文件中,为什么建议更改密码?
谢谢
【问题讨论】: