【发布时间】:2023-03-19 08:47:01
【问题描述】:
我有一个查询两个数据库的平面 java 文件,并且当前具有硬编码的凭据。计划是将其转换为春季批处理,但同时我想在外部的配置/属性文件中加密它们并调用它们。我正在寻找任何具体示例、最佳实践/解决方案。我感谢任何时间和精力。谢谢!
【问题讨论】:
标签: java external config credentials hardcoded
我有一个查询两个数据库的平面 java 文件,并且当前具有硬编码的凭据。计划是将其转换为春季批处理,但同时我想在外部的配置/属性文件中加密它们并调用它们。我正在寻找任何具体示例、最佳实践/解决方案。我感谢任何时间和精力。谢谢!
【问题讨论】:
标签: java external config credentials hardcoded
如果您决定对凭据进行加密,那么您将遇到安全存储加密密钥的问题。您可以做到的最好的方法是不存储它,并要求在您的应用程序启动时手动提供它。您的应用程序应该使用密钥来解密凭据,连接到任何服务。最后,它必须在使用后丢弃密钥和凭据,以防止从内存中获取它们。
如果在应用程序启动期间手动干预是不可接受的,那么典型的解决方案是将密钥存储在对加密分区具有适当限制权限的文件中,但如果系统受到威胁,例如攻击者以某种方式获得了您的应用程序的 root 权限或权限,他将能够恢复数据库凭据。
【讨论】: