我正在尝试通过java客户端连接到Web服务。我正在使用JRE 1.6(IBM):
java version "1.6.0"
Java(TM) SE Runtime Environment (build pwi3260_26sr2fp1-20120622_01(SR2 FP1))
IBM J9 VM (build 2.6, JRE 1.6.0 Windows 7 x86-32 20120618_113791 (JIT enabled, A
OT enabled).
我在我的代码中指定使用TLSv1.2来实现ssl安全性。
System.setProperty("javax.net.debug", "ssl");
System.setProperty("https.protocols", "TLSv1.2");
我特别希望在执行握手时使用SHA256消息摘要,但是,从下面的日志中我看到SHA256没有被使用。
*** ClientHello, TLSv1.2
RandomCookie: GMT: 1438792776 bytes = { 179, 7, 242, 221, 47, 208, 29, 106,238, 203, 116, 71, 161, 184, 231, 114, 231, 208, 6, 66, 183, 12, 170, 245, 15, 62, 193, 235 }
Session ID: {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_AES_128_CBC_SHA, SSL_DHE_RSA_WITH_AES_128_CBC_SHA, SSL_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_RENEGO_PROTECTION_REQUEST]
Compression Methods: { 0 }
Extension signature_algorithms, signature_algorithms: SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, SHA256withRSA, SHA1withECDSA, SHA1withRSA, SHA256withDSA, SHA1withDSA, MD5withRSA
***
是否有人建议我可以做什么来启用SHA256?
答案 0 :(得分:2)
是否有人建议我可以做什么来启用SHA256?
TLS 1.1 and 1.2 made their debut Java 7。请参阅标题 密码套件 ,以及 Java加密体系结构中名为 默认启用的密码套件 的图表
如果IBM的JVM具有您需要的 可用 ,那么您需要执行Which Cipher Suites to enable for SSL Socket中所述的操作以确保它们 启用 即可。虽然不直观,但可用和已启用是Java中的两个不同的东西。