2016-11-22 12 views
0

セキュリティで保護された接続に使用されているSSL/TLSプロトコルをJava EEが知る方法はありますか?JavaEEのSSL/TLSプロトコルバージョン

理想的には、アプリケーションがTLS/1.2をすべて使用するようにしたいが、私はいくつかのブラウザー(つまり9と言う)はデフォルトでサポートしていないことを知っている。 TLS/1.2のみを許可するように環境を設定すると、IE 9は「このWebサイトがダウンしています」と表示されます。ヘルプをクリックすると、実際に「ああ、これはIEの設定が賢明な暗号化を無効にする合理的な暗号化を可能にするためにこれを行います。 (私は少し言い換えられます)。

とにかく、レスポンスは寒い "ウェブサイトダウン"ですが、これは真実ではなく、ちょうどそのIEは分かりやすいプロトコルをサポートしたくありません。私の好みは、TLS/1.0のような弱いプロトコルを許可するように設定を変更することです。私のアプリケーションは、弱いプロトコルが使用されていることを検出し、すべてのページに何らかの警告が出る可能性があります。詳細については、ウェブサイトが動作していることを確認する有用なメッセージです。ブラウザは安全ではありません。私は、この情報や質問に答える他の方法を私に与えるかもしれないHttpServletRequestの一部を形成する属性を見ることはできません。

どのような考えですか?

答えて

0

TLSプロトコルの互換性を事前に取得できるかどうかはわかりません。

リクエストでブラウザとそのバージョンを確認する方法はありますか。
ブラウザのいずれか(ie言及したような)が問題を抱えている場合は、あなたの実際のコンテンツと一緒に警告メッセージを送信します。

あなたが使用してブラウザの情報を取得することができます

String userAgent = request.getHeader("User-Agent"); 

また、あなたはおそらく、この使用してJavaScriptを達成するためのいくつかの回答を見ることができます。クライアント側に存在するため、このシナリオを処理するために使用できます。

+0

不幸にも、TLS 1.2をサポートするInternet Explorer 8を使用することができますが、デフォルトでは安全でないプロトコルの使用を特に要求するため、User-Agentは信頼性がありません。だからちょうどそのIE 8がその安全性を意味しているわけではない。 JavaScriptは無効にするのが簡単で、チェックがクライアント側であり、arroundを動作させる方が簡単であるため、理想的なオプションではありません。 –

関連する問題