我的Java版本是1.7,根据this link我发现 Oracle 默认禁用某些密码套件。
我想使用SSL_RSA_WITH_DES_CBC_SHA
这是一个禁用的密码套件。如何启用这个已禁用的密码套件?
最佳答案
基于https://blogs.oracle.com/coffeys/entry/jdk_and_use_of_rc4您应该能够按如下方式执行此操作:
使用API方法调用:
sslSocket.setEnabledCipherSuites(new String [] {
"SSL_RSA_WITH_DES_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA", "SSL_RSA_WITH_3DES_EDE_CBC_SHA",
"SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA", "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
"SSL_RSA_WITH_RC4_128_MD5", "SSL_RSA_WITH_RC4_128_SHA",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"});
或者 https.cipherSuites 系统属性:
java -Dhttps.cipherSuites= SSL_RSA_WITH_DES_CBC_SHA \
TLS_RSA_WITH_AES_128_CBC_SHA,\
TLS_DHE_RSA_WITH_AES_128_CBC_SHA,\
TLS_DHE_DSS_WITH_AES_128_CBC_SHA,\
SSL_RSA_WITH_3DES_EDE_CBC_SHA,\
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,\
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,\
SSL_RSA_WITH_RC4_128_MD5,\
SSL_RSA_WITH_RC4_128_SHA,\
TLS_EMPTY_RENEGOTIATION_INFO_SCSV MyTLSApp
关于java - 如何在 Oracle JDK 1.7 中启用禁用的密码套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30695261/