【问题标题】:Encrypting sensitive information in JBoss configuration在 JBoss 配置中加密敏感信息
【发布时间】:2009-05-11 15:46:59
【问题描述】:

JBoss 中的标准数据源配置要求数据库用户的用户名和密码在 xxx-ds.xml 文件中。如果我将数据源定义为 c3p0 mbean,我会遇到同样的问题。

有没有标准的方法来加密用户和密码?保存密钥的好地方是什么?

这当然也与 tomcat 相关——context.xml 文件、spring 配置文件等。

【问题讨论】:

  • 我一直遇到同样的问题,从来没有找到好的解决方案。

标签: java spring tomcat jakarta-ee jboss


【解决方案1】:

有一个 wiki 文档:http://www.jboss.org/community/docs/DOC-9703 对此进行了描述。

【讨论】:

【解决方案2】:

对于 spring 部分,您可以使用自己的 spring 的 PropertyPlaceholderConfigurer 扩展,并覆盖 String convertPropertyValue(String originalValue)。正如该方法的 javadoc 中提到的那样(实际上在超类 PropertyResourceConfigurer 中):

将给定的属性值从属性源转换为应该应用的值。

默认实现只是简单地返回原始值。可以在子类中被覆盖,例如检测加密值并相应地解密它们。

这意味着您可以在 spring xml 文件中使用 ${encoded.value} 配置您的数据源,并在将解码后的值注入数据源之前对其进行解码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2011-05-30
    • 2012-12-26
    • 1970-01-01
    相关资源
    最近更新 更多