更改Java默认信任库密码的影响

时间:2016-11-28 19:21:40

标签: java security passwords truststore

我最近不得不将我的企业根CA(基于AD CS)添加到JRE默认信任库($JAVA_HOME/lib/security/cacerts文件)中。然后我发现(因为我是新手),默认密码为changeit

我发现了各种帖子,解释了如何更改它,但有两个问题我无法找到答案:

  1. 保留默认密码是否存在安全风险?我想攻击者可以导入受到破坏的证书,以便客户信任他们
  2. 更改此信任库密码有什么影响?我还猜测JRE可以在内部寻找根CA,因为它知道默认密码。一旦更改,是否必须在某处提供(配置文件,...)?
  3. 对于有applet的网站,我们主要在Windows上使用Java,因此我们不会从命令行启动任何内容(我知道可以提供密码)。

2 个答案:

答案 0 :(得分:0)

关于第二个问题,有一些系统属性可为默认信任存储和默认密钥存储指定密码。信任库的一个是: javax.net.ssl.trustStorePassword

我在https://stackoverflow.com/a/5871352/5629418

找到了该信息

如果攻击者可以在配置文件中或通过运行Java程序读取您的Java系统属性,那么更改密码几乎是徒劳的。

答案 1 :(得分:0)

关于您的第二个问题:“更改此信任库密码有什么影响?”

更改该密码的含义之一是,保存新密码值的存储位更好地分配并存储在某个位置,以供随后的检索(为相应的访问提供)。而且,如果未存储该密码,则最好有一个有关如何还原密码的过程。

该文章包含更改密码的代码:

thetechawesomeness.ideasmatter.info