使用setEnabledCipherSuites()

时间:2017-01-02 09:28:43

标签: java ssl java-8 tls1.2

我面临一个奇怪的问题,看起来像JDK表现得很奇怪。

我编写了一个JAVA应用程序,并使用setEnabledCipherSuites()为TLS连接设置了我首选的密码列表。

奇怪的是,当我设置单个密码套装(比如TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256)时,TLS握手失败。请注意,客户端和服务器都配置为使用相同的密码。

但是当我设置密码列表时,至少有2个(比如TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256),一切都像魅力一样。

这是由任何奇怪的JDK问题引起的吗?

 编辑问题以在此处为密码TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256添加clientHello,但我找不到相应的serverHello出去。

ClientHello, TLSv1.2 RandomCookie:  GMT: 1483351573 bytes = { 236, 104, 69, 5, 204, 179, 32, 84, 44, 7, 84, 102, 15, 73, 185, 254, 42, 128, 113, 217, 120, 205, 199, 195, 162, 120, 161, 41 }  Session ID:  {}  Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256]  Compression Methods:  { 0 }  Extension elliptic_curves, curve names: {secp256r1, sect163k1, sect163r2, secp192r1, secp224r1, sect233k1, sect233r1, sect283k1, sect283r1, secp384r1, sect409k1, sect409r1, secp521r1, sect571k1, sect571r1, secp160k1, secp160r1, secp160r2, sect163r1, secp192k1, sect193r1, sect193r2, secp224k1, sect239k1, secp256k1}  Extension ec_point_formats, formats: [uncompressed]  Extension signature_algorithms, signature_algorithms: SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, SHA256withRSA, SHA224withECDSA, SHA224withRSA, SHA1withECDSA, SHA1withRSA, SHA1withDSA Extension renegotiation_info, renegotiated_connection: <empty>  default-server-worker 3, WRITE: TLSv1.2 Handshake, length = 142  serverin-server-worker 0, READ: TLSv1.2 Handshake, length = 142

java版本是 java版&#34; 1.8.0_102&#34; Java(TM)SE运行时环境(版本1.8.0_102-b14) Java HotSpot(TM)64位服务器VM(版本25.102-b14,混合模式)

0 个答案:

没有答案