我正在尝试保护我正在处理的Java应用。此应用程序具有服务包装器,其中包含参数列表,其中包括数据库密码。所以有3种解决方案,但我不确定其中任何一种都是可能的。
1)加密整个文件而不保持可用。
2)存储加密密码并在文件中添加加密功能
3)创建一个外部程序,恢复加密密码,并在wrapper.config文件中调用它的结果
在拼命搜索互联网以获得回复后,我没有找到任何帮助,所以我希望找到一个在这里有类似问题的人。
答案 0 :(得分:0)
另一种选择是使用密钥库,如this博文中所示,但是您仍然需要找到一个安全位置来将密钥存储到密钥库本身。要解决此问题,您可以让应用程序向用户询问密钥存储区的密码,这样数据将是安全的,但您不存储任何(密钥库)密码。话虽如此,如果您每次打开应用程序时都愿意询问用户密码,也可以立即向用户询问数据库密码。
如果要加密文件,则仍需要发送应用程序进行解密所需的密钥。这意味着潜在用户仍然可以查看您的应用程序并根据需要解密文件。
我认为,如果您真的想要一个安全解决方案,答案就是不自己存储密码,而是要求用户每次都要输入密码。