密码套件不可用 - 如何添加/启用? Tomcat SSL

时间:2014-06-24 18:23:55

标签: java encryption

我在java中有这个启用和支持的密码列表

-----------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()和getEnabledCipherSuites()的快速java类获得了这个信息,我在JRE 6 32和64 Bit以及JRE 7 32和64 Bit上运行了这个,但由于系统我我正在使用,我必须运行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 个答案:

答案 0 :(得分:1)

我首先使用Legion of the Bouncy Castle,然后根据directions here我会三重检查

  

如果您使用的是Windows,请小心,因为JDK安装通常会在两个不同的位置安装JRE和JDK - 通常这两个位置都需要安装策略文件。