2013年4月23日 星期二

JBoss 5.1.0 GA 將DB連線的密碼加密


有同事問了這樣一個問題,所以找了一下資料
在此做個記錄



1. 切換到jboss安裝路徑(以下稱$AS),例如
cd /opt/jboss-5.1.0.GA/

2. 用jboss的工具將密碼加密
java -cp client/jboss-logging-spi.jar:common/lib/jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule password
最後面的 password 請改成實際的密碼
執行後會得到以下訊息
Encoded password: 5dfc52b51bd35553df8592078de921bc
這即是加密後的內容

3. 編輯 login-config.xml,例如位於 $AS/server/default/conf/,新增一個 application-policy
<application-policy name="ds_myname_pwd">
<authentication>
<login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">
<module-option name="username">uid</module-option>
<module-option name="password">5dfc52b51bd35553df8592078de921bc</module-option>
<module-option name="managedConnectionFactoryName">jboss.jca:name=ds_myname,service=LocalTxCM</module-option>
</login-module>
</authentication>
</application-policy>
上面application-policy的name屬性值建議與 ds 的名稱有關聯,可幫助識別
jboss.jca:name的值則要填入 ds 的名稱

4. 編輯連線資訊設定檔,例如位於 $AS/server/default/deploy/*-ds.xml
將原
<user-name>uid</user-name>
<password>pwd</password>
改為
<security-domain>ds_myname_pwd</security-domain>



參考資料:
https://community.jboss.org/wiki/EncryptingDataSourcePasswords

沒有留言:

張貼留言

廣告訊息會被我刪除

Related Posts with Thumbnails