加密JBoss配置中的敏感信息

时间:2009-05-11 15:47:00

标签: java spring tomcat java-ee jboss

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

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

这当然与tomcat相关 - context.xml文件,spring配置文件等

2 个答案:

答案 0 :(得分:6)

有一个维基文档:http://www.jboss.org/community/docs/DOC-9703描述了这一点。

答案 1 :(得分:1)

对于spring部分,您可以使用自己的spring的PropertyPlaceholderConfigurer扩展,并重写String convertPropertyValue(String originalValue)。由于该方法的javadoc提到它(实际上在超类PropertyResourceConfigurer中):

  

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

     

默认实现只返回原始值。可以在子类中重写,例如检测加密值并相应地解密它们。

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