0

JRE 8でTLSv1.2および1.1を無効にし、TLSv1のみを使用できるようにする方法を知っている人は誰でも。私はすでに -Djdk.tls.client.protocols="TLSv1" パラメータを試しましたが、うまくいきません。SSL デバッガーの出力を見ると、まだ V1.2 を使用していることがわかります。

00E0: 05 01 04 03 04 01 03 03   03 01 02 03 02 01 02 02  ................
[Raw read]: length = 5
0000: 15 03 01 00 02                                     .....
[Raw read]: length = 2
0000: 02 28                                              .(
AWT-EventQueue-0, READ: TLSv1 Alert, length = 2
AWT-EventQueue-0, RECV **TLSv1.2 ALERT:  fatal, handshake_failure**
AWT-EventQueue-0, called closeSocket()
AWT-EventQueue-0, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
AWT-EventQueue-0, called close()
AWT-EventQueue-0, called closeInternal(true)
4

2 に答える 2

3

SSL Labsなどのツールを使用して、デフォルトの Java 1.7 および 1.8 クライアントでサーバーのシミュレートされたハンドシェイクを確認します。表示されているハンドシェイク エラーは、TLS バージョンに関連していない可能性があり (TLSv1.0 もサポートする TLSv1.2 クライアントは、TLSv1.0 を使用してのみ通信するサーバーと通信できる必要があるため)、サーバーが原因である可能性が最も高いです。 Java 1.8 でサポートされなくなった暗号スイート (RC4 など) を使用する。

于 2016-04-18T06:14:59.787 に答える