从Flat Java外化凭据

时间:2013-09-23 13:12:03

标签: java external config credentials hardcoded

我有一个平面java文件,它查询两个数据库,目前有硬编码的凭据。计划是将其转换为spring批处理,但同时我想在外部的config / properties文件中对它们进行加密并调用它们。我正在寻找任何具体的例子,最佳实践/解决方案。我感激任何时间和精力。谢谢!

1 个答案:

答案 0 :(得分:0)

如果您决定加密凭据,则存在安全存储加密密钥的问题。你可以做到最好存储它,并且只要你的应用程序启动就需要手动给它。您的应用程序应使用密钥解密凭据,连接到任何服务。最后,它必须在使用后丢弃密钥和凭据,以防止它们从内存中获取。

如果在应用程序启动期间手动干预是不可接受的,那么典型的解决方案是将密钥存储在对加密分区具有适当限制权限的文件中,但是如果系统受到损害,例如,攻击者以某种方式获得应用程序的root权限或特权,他将能够恢复数据库凭据。