2013-02-28 36 views
1

主要限制是對於不同的客戶端,我必須擁有具有不同憑據的不同數據庫。 所以我必須創造,新的客戶,在飛行數據源(無需重新啓動的JBoss):在沒有應用程序策略的情況下在JBoss中加密數據源密碼

<datasources> 
    <xa-datasource> 
    <jndi-name>jdbc/1349173612812_ARCHIVE_001DS</jndi-name> 
    <isSameRM-override-value>false</isSameRM-override-value> 
    <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> 
    <xa-datasource-property name="URL">jdbc:sqlserver://DEVDB\MYDB;databaseName=DEV_ARCHIVE_001</xa-datasource-property> 
    <xa-datasource-property name="DatabaseName">DEV_ARCHIVE_001</xa-datasource-property> 
    <xa-datasource-property name="SelectMethod">cursor</xa-datasource-property> 
    <xa-datasource-property name="User">admin</xa-datasource-property> 
    <xa-datasource-property name="Password">plain text password</xa-datasource-property> 
    </xa-datasource> 
</datasources> 

一切工作正常,但知道我必須加密密碼,出於安全的措施。

我找到了使用application policy的解決方案,但爲了使策略對JBoss可見,服務器必須重新啓動 - 這對我來說不是一種選擇。

是否有另一種保護密碼的方法?

+0

它聽起來不需要創建數據源*實例*在飛行中,這將是更容易,但數據源*配置*。您還沒有指定是否要通過jboss用戶空間應用程序,jboss管理工具,其他腳本工具或什麼來完成此操作? – eis 2013-03-27 15:50:12

+0

您是否查看了JBoss Vault密碼存儲@ https://community.jboss.org/wiki/JBossAS7SecuringPasswords。 – randominstanceOfLivingThing 2013-03-29 04:28:01

回答

0

org.jboss.resource.security.SecureIdentityLoginModule類可用於加密數據庫密碼並在服務器需要數據源配置時提供解密版密碼。 SecureIdentityLoginModule使用硬編碼密碼來加密/解密數據源密碼。

通過傳入明文密碼,使用SecureIdentityLoginModule主方法加密數據源密碼。 SecureIdentityLoginModule由jbosssx.jar提供。

此過程是JBoss企業應用平臺版本5.1和更高

  1. 轉到Jboss的目錄或目錄更改到JBoss-如實施例用戶/演示/ Jboss的/

    Linux目錄 命令

java命令的客戶端/ JBoss的測井-spi.jar:LIB/jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule PASSWORD

的java -cp倉/客戶端/ JBoss的測井-spi.jar:獨立/ lib/ext目錄/ jbosssx.jar org.jboss.resource.security .SecureIdentityLoginModule PASSWORD

Windows命令: 的java -cp客戶\ JBoss的測井-spi.jar; LIB \ jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule PASSWORD

結果:

該命令將返回一個加密密碼。

重要提示

:如果您在執行此命令 在這種情況下,檢查後遇到錯誤,你應該有「jbosssx.jar」,在「JBoss的日誌記錄,spi.jar」你的jboss。 它應該在lib目錄下或可能在獨立的/ lib/ext/ (在cammand它採取路徑爲這個罐子加密密碼)

相關問題