2014-06-24 60 views
2

我在java的啓用和支持的密碼這個名單密碼套件不可用 - 如何添加/啓用? Tomcat的SSL

-----------SUPPORTED CIPHERS------------- 

Supported cipher suites: 
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA 
SSL_DHE_DSS_WITH_DES_CBC_SHA 
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA 
SSL_DHE_RSA_WITH_DES_CBC_SHA 
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA 
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA 
SSL_DH_anon_WITH_DES_CBC_SHA 
SSL_DH_anon_WITH_RC4_128_MD5 
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA 
SSL_RSA_EXPORT_WITH_RC4_40_MD5 
SSL_RSA_WITH_3DES_EDE_CBC_SHA 
SSL_RSA_WITH_DES_CBC_SHA 
SSL_RSA_WITH_NULL_MD5 
SSL_RSA_WITH_NULL_SHA 
SSL_RSA_WITH_RC4_128_MD5 
SSL_RSA_WITH_RC4_128_SHA 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA 
TLS_DH_anon_WITH_AES_128_CBC_SHA 
TLS_EMPTY_RENEGOTIATION_INFO_SCSV 
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA 
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 
TLS_KRB5_EXPORT_WITH_RC4_40_SHA 
TLS_KRB5_WITH_3DES_EDE_CBC_MD5 
TLS_KRB5_WITH_3DES_EDE_CBC_SHA 
TLS_KRB5_WITH_DES_CBC_MD5 
TLS_KRB5_WITH_DES_CBC_SHA 
TLS_KRB5_WITH_RC4_128_MD5 
TLS_KRB5_WITH_RC4_128_SHA 
TLS_RSA_WITH_AES_128_CBC_SHA 
-----------ENABLED CIPHERS--------------- 

Enabled cipher suites: 
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA 
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA 
SSL_DHE_DSS_WITH_DES_CBC_SHA 
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA 
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA 
SSL_DHE_RSA_WITH_DES_CBC_SHA 
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA 
SSL_RSA_EXPORT_WITH_RC4_40_MD5 
SSL_RSA_WITH_3DES_EDE_CBC_SHA 
SSL_RSA_WITH_DES_CBC_SHA 
SSL_RSA_WITH_RC4_128_MD5 
SSL_RSA_WITH_RC4_128_SHA 
TLS_DHE_DSS_WITH_AES_128_CBC_SHA 
TLS_DHE_RSA_WITH_AES_128_CBC_SHA 
TLS_EMPTY_RENEGOTIATION_INFO_SCSV 
TLS_RSA_WITH_AES_128_CBC_SHA 

不過,我需要提供的密碼是

TLS_RSA_WITH_AES_256_CBC_SHA. 

我寫它運行getSupportedCipherSuites快速Java類(獲得此信息)和getEnabledCipherSuites(),我已經在JRE 6 32和64位以及JRE 7 32和64位上運行了這個,但由於我正在使用的系統,我必須運行32位JRE。我找不到任何其他網上除了這個列表應該支持哪些密碼http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html

這個鏈接顯示密碼我看着可用,但在檢查後,我顯然沒有看到它可用於我。我的問題是,有沒有什麼辦法可以添加這個密碼或者我可以使用的不同版本的Java?另外,如何啓用支持但未啓用的應用程序?

作爲一個說明,我確實在這裏安裝了用於Java 6的文件:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html和Here for Java 7:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html。無論如何,我已經擁有了這些文件,並用這些鏈接下載的文件覆蓋了它們。沒有幫助。

這都是導致在eclipse中使用Tomcat的原因。當試圖運行帶有工作證書的Tomcat時,我得到: java.io.IOException:由於沒有可用的證書或密鑰對應於啓用的SSL密碼套件,SSL配置無效。

雖然這通常指向一個別名不說,在我的情況,我相信我的問題是有關密碼。

+1

[所述快活城堡軍團](http://www.bouncycastle.org/java.html)。 –

+0

@ElliottFrisch關心擴大? – wondergoat77

+1

[this](http://www.bouncycastle.org/wiki/plugins/servlet/mobile#content/view/362261)有幫助嗎? –

回答

1

我會使用Legion of the Bouncy Castle開始,每directions here我將增加兩倍檢查

要小心,如果你使用的是Windows的JDK安裝通常安裝了JRE並且在兩個不同的地方JDK - 通常這兩者都需要安裝策略文件。

+0

我試圖複製「bcprov-EXT-jdk15on-152.jar」在$ JDK_HOME $ \ JRE \ lib中\分機和編輯java.security文件添加提供程序,但我還是不支持獲得了「TLS_RSA_WITH_AES_256_CBC_SHA」密碼列表。有什麼可能會丟失? –

+1

另一種方法是應用JCE jar - http://stackoverflow.com/a/30370530/537503。這工作! –