Java 如何安全地向要启动的后台应用程序提供敏感信息(如密码)?
我正在开发一个应该在后台运行的Java应用程序,并考虑将一些敏感信息(DB凭据等)外部化,以防它发生变化。这些信息是启动应用程序所必需的。然而,我想知道这样做的正确方式是什么 我考虑了以下几点,但需要从安全角度提出建议Java 如何安全地向要启动的后台应用程序提供敏感信息(如密码)?,java,security,Java,Security,我正在开发一个应该在后台运行的Java应用程序,并考虑将一些敏感信息(DB凭据等)外部化,以防它发生变化。这些信息是启动应用程序所必需的。然而,我想知道这样做的正确方式是什么 我考虑了以下几点,但需要从安全角度提出建议 启动应用程序时,加密密码将作为主参数传递。但是,我注意到,任何用户在查看操作系统中的进程列表时都可以看到参数 生成具有视图限制的外部文件,即java属性文件(具有加密凭据),并将文件路径传递给应用程序 将加密凭据放入用户的环境变量中,以便应用程序访问它 注意:我们已经使用了一个加
必须保护该密钥库(别名)的静态密码,但只能保护一(两)个。当需要保护多个属性时,它非常有用。它也更易于管理,因为所有财产都以相同的方式在一个地方进行保护。2是最明智的选择。1和3的问题是,一旦他们能够访问“加密”字符串,他们就必须弄清楚你是如何解密它的(无论如何,你必须这样做,才能利用它)
你看过了吗,我不知道这是否是你的选择。2是最明智的选择。1和3的问题是,一旦他们能够访问“加密”字符串,他们就必须弄清楚你是如何解密它的(无论如何,你必须这样做,才能利用它)
您看过了吗,我不知道这是否是您的选项。以及加密您需要加密的任何内容。您好,我们已经有了一个加密工具,我们将编辑帖子以包含此信息并加密您需要加密的任何内容。您好,我们已经有了一个加密工具,将编辑帖子以包含此信息谢谢您的建议。我检查了SpringCloud配置,但在我们的简单应用程序中使用它似乎太过了。(我使用的是纯java)谢谢你的建议。我检查了SpringCloud配置,但在我们的简单应用程序中使用它似乎太过了。(我使用的是纯java)