今天一个项目的客户提出了一个审计要求,数据库的密码不能以明文存储在文件中,当然产品使用的是jboss容器,jboss提供的标准加密的的方式,看我另一篇文章
http://blog.csdn.net/iberr/article/details/40896479
当时兴高采烈的告诉客户,这个没有问题!
问题来了,这个产品为新版本,本身就对数据库密码进行加密处理了,但是...不是用的普通的加密方式,而是用了密匙文件进行加密的. 最后咨询了产品支持,才明白了,下面讨论一下,本人也有很多问题不理解
生成密匙文件就不说了,度娘有很多了
首先,这个是Jboss7的数据源配置,如下:
<datasource enabled="true" jndi-name="java:/jdbc/PRD1_WH1" jta="true" pool-name="jdbc/PRD1_WH1" use-java-context="true"> <connection-url>jdbc:oracle:thin:@wmsdb:1521:SCPRD</connection-url> <driver>infor10</driver> <pool> <min-pool-size>1</min-pool-size> <max-pool-size>100</max-pool-size> <use-strict-min>true</use-strict-min> </pool> <security> <user-name>enterprise</user-name> <password>${VAULT::jdbc/PRD1_WH1::password::ZDBiODM4OTktMTkxMy00YjExLTllNWUtYWJmZTA1ZTY2N2Y4TElORV9CUkVBS3ZhdWx0}</password> </security> <new-connection-sql>ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy/mm/dd hh24:mi:ss'</new-connection-sql> </datasource>请看 <password> 节点,和jboss提供的那个加密方式可完全不一样
与数据源配置文件同目录下有密匙文件
那么问题来了,如何去改呢?
{jboss-home}/bin/vault.bat/sh 执行该文件,如下:
选择 0
这时候让我输入加密文件的目录,上面我们提到过和数据源配置文件在同一目录,所以就是 {jboss-home}/{server}/configuration/
如图:
回车后提示我们输入密匙文件路径,同样输入 {jboss-home}/{server}/configuration/vault.keystore
其它的提示输入密匙密码之类的,这里可能和生成密匙有关
输完之后,提示输入密匙别名,也是生成密匙的时候设置的(输入错误后续都无法进行)
出现以上界面就证明前面都成功了,可以开始生成密文了,选择 0
注意:${VAULT::[Vault Block]::[Attribute Name]::[Attribute Name]}
以上生成完成了,将上面的字符串替换数据源的即可
datasource enabled="true" jndi-name="java:/jdbc/PRD1_WH1" jta="true" pool-name="jdbc/PRD1_WH1" use-java-context="true"> <connection-url>jdbc:oracle:thin:@wmsdb:1521:SCPRD</connection-url> <driver>infor10</driver> <pool> <min-pool-size>1</min-pool-size> <max-pool-size>100</max-pool-size> <use-strict-min>true</use-strict-min> </pool> <security> <user-name>enterprise</user-name> <password>${VAULT::testBlock::password::NGRmZWZiZjItOTgxYS00NWZiLWI0NTktMDQ4YTQzZjdlNTJlTElORV9CUkVBS3ZhdWx0}</password> </security> <new-connection-sql>ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy/mm/dd hh24:mi:ss'</new-connection-sql> </datasource>
希望大家完善一下,多交流
原文地址:http://blog.csdn.net/iberr/article/details/41478985