0

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

4

1 回答 1

0

如果您决定对凭据进行加密,那么您将遇到安全存储加密密钥的问题。最好的办法是根本不存储它,并要求在应用程序启动时手动提供它。您的应用程序应该使用密钥来解密凭据,连接到任何服务。最后,它必须在使用后丢弃密钥和凭据,以防止从内存中获取它们。

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

于 2013-09-23T13:36:02.480 回答