2013-03-20 150 views
1

我使用的Openfire 3.8.1作爲Windows XMPP服務器,但明火只支持TLS 1.0,我需要爲TLS 1.2支持如何配置Openfire的支持TLS 1.2

如何配置Openfire的支持TLS 1.2?

而且我讀了Openfire的是用JDK 1.5或1.6和JDK的那些版本不支持TLS 1.2編譯。如果我用支持TLS 1.2的jdk 1.7編譯openfire源代碼就足夠了?

回答

0

更改JRE的Openfire使用1.6〜1.7。如果您在Windows中運行的Openfire,創建一個使用Java 7的基礎上,shell腳本openfirectl一個批處理文件。沒有必要重新編譯代碼。

0

你不得不從1.6升級(例如OpenJDK的-6)至1.7(例如OpenJDK的-7),以獲得TLS 1.2。

注意,即使使用的OpenJDK-7,TLS 1.2還在爲客戶端連接禁用:

http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#tlsprotonote

雖然SunJSSE在Java SE 7的版本支持TLS 1.1和TLS 1.2,既不版本默認情況下爲客戶端連接啓用。某些服務器不能正確實現轉發兼容性,拒絕與TLS 1.1或TLS 1.2客戶端通信。對於互操作性,SunJSSE默認不爲客戶端連接啓用TLS 1.1或TLS 1.2。

這意味着,對於服務器到服務器的連接,其中的Openfire充當客戶端,它仍然不會使用TLS 1.2,甚至與OpenJDK的-7(僅在OpenJDK的-8將TLS 1.2最終將通過啓用默認)。

我已經看了openfire和Java API的源代碼,並得出結論,您應該能夠解決以下問題(儘管我沒有機會確認它具有所需的效果):

INSERT INTO OFPROPERTY VALUES('xmpp.socket.ssl.algorithm','TLSv1.2') 

例如最好的辦法是去與任何的Java 7或8,那麼如果與7去,嘗試上面的設置了。