2014-06-24 94 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。这工作! –