2017-06-15 33 views
0

java内にあるSSL/TSLに関する情報を収集しています。私たちは現在、どのようなTLSプロトコルを使用しているのかわからなくても、nettyを使用しています。私たちのアプリケーションはJava7で動作するので、SSLSocketはデフォルトでTLS1で実行され、SSL3は起動されません。私は今知っている。サーバが使用されているプロトコルをサポートしていない場合、JSSEはフォールバックを実装していますか?

、ターゲットサーバのみTLS1.1をサポートしています(つまり、デフォルトのTLS1.2で使用しています)私のクライアントはJava8上で動作すると仮定すると、JSSETLS1.1との接続を交渉するために自動フォールバックルーティングを使用していますか?それとも具体的に実装する必要がありますか?はいの場合は、どこでそれを行う必要がありますか?

JSSEドキュメントの明確な点が見つかりませんでした。

+0

[JSSEプロトコル](https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSE_Protocols) –

答えて

1

は現在自動フォールバックを使用しています...?

これは必須ではありません。

TLSクライアントは、サポートできるTLSプロトコルの最高バージョンを送信します。サーバーは使用したいTLSバージョンで応答します。これは、サーバーがサポートしている最高バージョンとクライアントが送信したバージョンのいずれか低い方です。クライアントがそのバージョンをサポートしている場合、ハンドシェイクが進行します。したがって、実際にはサーバーがフォールバックを実行します。

これはすべてRFC 2246で指定されています。 Java特有のものではありません。

関連する問題