2017-08-10 152 views
0

我想從Tomcat 6遷移到Tomcat 9. Tomcat 6中存在一個問題,即資源密碼是純文本。有沒有方法在Tomcat 9中加密它們?tomcat server.xml加密密碼

對資源的例子是:

<Resource name="jdbc/HasanDB" auth="Container" type="javax.sql.DataSource" 
       maxTotal="10" maxIdle="15" minIdle="3" initialSize="2" maxWaitMillis="10000" 
       removeAbondend="true" removeAbondendTimeout="300" 
       username="hasan" password="hasanpass" driverClassName="com.mysql.jdbc.Driver" 
       url="jdbc:mysql://localhost:3306/HasanDB"/> 

如果沒有加密方法可用,可軟件使用的Tomcat啓動時喂密碼?

回答

-1

Tomcat附帶了一個允許我們加密密碼的腳本。該腳本在Windows上稱爲digest.bat,在Linux上稱爲digest.sh,可在bin目錄中找到。有了這個,我們可以指定我們想要使用的加密算法 - 在這裏我們使用SHA-256 - 並且我們輸入要加密的文本 CATALINA_HOME/bin/digest。[bat | sh] -a {algorithm} {明文密碼} 示例: - CATALINA_HOME/bin> digest.sh -a sha-256 hasanpass

+0

此工具散列密碼。但是當它們被哈希時,它們可以在Server.xml中使用,參見:https://wiki.apache.org/tomcat/FAQ/Password – Hasan

+0

它所做的只是在標準輸出上打印結果。 – EJP

1

這甚至有它自己的部分in the Tomcat FAQ。基本上:密碼的加密將是蛇油 - 你只能讓人們稍微難以訪問密碼。

的常見問題給出了幾個選項,我最喜歡它的一部分是他們認爲可以輕鬆地定製,密碼加密,實現所使用的加密方法:

XOR和ROT13是偉大的候選人這是因爲他們的實力符合你實際得到的保護。

+0

我已經閱讀過,但我不知道這是否適用於Tomcat 9(它可以有更好的方法),也不知道如何實現它。 – Hasan

+0

1)常見問題解答講述的是普遍缺乏安全性的問題,這是不變的。它只*看起來像它更安全,但你應該擔心別的東西。 2)「如何實現* it *」 - 您在討論FAQ中的哪些非推薦選項? 3)一個簡單的方法,只需編碼一個密碼可以在這個問題的答案中找到:https://stackoverflow.com/questions/16194052 –

+0

我已經做了實現,但它不讀取方法setKeystorePass – Hasan