如何存储Java KeyStore密码?

时间:2010-06-14 15:43:03

标签: java keystore private-key

在我的Web应用程序中,我访问存储在Java KeyStore中的私钥。我想知道存储KeyStore和私钥密码的最佳/推荐方法是什么。

我考虑过使用属性文件,但在生产环境中使用它似乎不太安全(在纯文本文件中存储密码)。此外,在我的代码中对密码进行硬编码不是我愿意接受的选择。

感谢。

2 个答案:

答案 0 :(得分:6)

这是一个棘手的引导问题。一些选择:

  • 让您的应用提示用户解锁密钥库(不太友好,但可能)

  • 将密码存储在所有者只读文件(0400)中,并使用该密码解锁密钥库。攻击者必须闯入您的服务器才能读取该文件。这似乎是使用最广泛的技术
  • 使用HSM
  • 使用类似Hashicorp Vault的东西(但它也有引导问题)。

答案 1 :(得分:-7)

您可以使用属性文件,因为您提到只是哈希密码以获得额外的安全性哈希密码。这解决了必须以纯文本格式保存密码的问题。然后,您可以使用MD5或SHA1密码来哈希,个人选择。