4

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

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

谢谢。

4

2 回答 2

9

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

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

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

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

于 2010-06-14T15:59:49.200 回答