Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TLSv1.2未使用SHA256摘要_Java_Ssl_Tls1.2 - Fatal编程技术网

Java TLSv1.2未使用SHA256摘要

Java TLSv1.2未使用SHA256摘要,java,ssl,tls1.2,Java,Ssl,Tls1.2,我正在尝试通过java客户端连接到Web服务。我正在使用JRE 1.6(IBM): 我已在代码中指定使用TLSv1.2实现ssl安全 System.setProperty("javax.net.debug", "ssl"); System.setProperty("https.protocols", "TLSv1.2"); 我特别希望在执行握手时使用SHA256消息摘要,但从下面的日志中可以看出,没有使用SHA256 *** ClientHello, TLSv1.2 RandomCookie:

我正在尝试通过java客户端连接到Web服务。我正在使用JRE 1.6(IBM):

我已在代码中指定使用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

有谁能建议我如何使用SHA256

。请参阅Java加密体系结构中的标题密码套件,以及名为默认启用密码套件的图表


如果IBM的JVM具备您所需的功能,因此它是可用的,那么您需要执行中所述的操作,以确保它们是启用的。虽然不直观,但可用和启用在Java中是两种不同的东西。

也许您可以尝试Java 1.5,或者1.4?哦,等等,它一定是在Java1.2:)@Maarten-我想。我认为OP在SSLv3和TLS1.0领域中,这是由于底层JVM的缘故。您可以尝试iSaSiLk或其他第三方TLS库。但请注意,在旧的运行时使用TLSon可能无法提供完全的保护。执行握手时使用SHA256…是什么意思?ServerKX和ClientKX的签名ALG(如果经过身份验证)由sigalgs(在您的hello中提供所有SHA2)控制,对于TLSv1.2,PRF对所有旧套件(包括您列出的套件)使用HMAC-SHA256。如果您的目标是安全性,而不是崇拜“256”,那么重要的是使用SHA256或更高版本签署证书,而这与ClientHello的内容无关。@jww OP使用的是IBM JRE,而不是Oracle JRE,IBM替代了他们自己的加密提供程序,包括SSL。请注意,日志上写着TLSv1.2,其中包括仅存在于1.2中的签名算法。
*** 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
***