2014-04-29 04:57:20 +0000 2014-04-29 04:57:20 +0000
50
50

Java 7 でクライアントの TLS 1.1 と 1.2 を有効にする

Java 7 はクライアントの TLS 1.1 と 1.2 を無効にします。Java Cryptography Architecture Oracle Providers Documentation ](http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html)から:

Java SE 7リリースのSunJSSEはTLS 1.1とTLS 1.2をサポートしていますが、どちらのバージョンもクライアント接続ではデフォルトでは有効になっていません。一部のサーバでは、 順方向互換性が正しく実装されておらず、TLS 1.1 または TLS 1.2 クライアントとの通信を拒否します。相互運用性のために、SunJSSE はクライアント接続のデフォルトで TLS 1.1 や TLS 1.2 を有効にしません。

Java アプリケーションごとのソリューションではなく、システム全体の設定でプロトコルを有効にすることに興味があります。

どうやって_管理的に TLS 1.1と1.2をsystem wideを有効にするのでしょうか?

: POODLE以降、_管理的に SSLv3をsystem wideを無効にしたいのですが、どうすればいいでしょうか?(SSLv3の問題は、少なくとも15年でPOODLEよりも前に、しかし、Java/Oracle/開発者は、基本的なベストプラクティスを尊重していなかったので、あなたと私のようなユーザーは、混乱をクリーンアップすることに残されている)。

回答 (6)

31
31
31
2015-06-16 08:08:06 +0000

以下のプロパティ-Dhttps.protocols=TLSv1.1,TLSv1.2を追加するだけで、https接続中に使用するTLSプロトコルのバージョンを指定するためにJVMを設定することができます。

14
14
14
2014-06-18 16:09:55 +0000

あなたは、次のようなものを追加してみることができました スタートアップスクリプトに、Java 1.7を仮定して:

JAVACMD="$JAVACMD -Ddeployment.security.SSLv2Hello=false -Ddeployment.security.SSLv3=false -Ddeployment.security.TLSv1=false -D\ deployment.security.TLSv1.1=true -Ddeployment.security.TLSv1.2=true"

いくつかの他の提案。 https://blogs.oracle.com/java-platform-group/entry/java_8_will_use_tls

9
9
9
2014-04-29 08:46:24 +0000

Mac OS XのJava 7の場合は、System Preferences > Javaに移動し、Javaコントロールパネルが別ウィンドウで開きます。その後、「Advanced」タブに移動し、「Advanced Security Settings」セクションまでスクロールして、「Use TLS 1.1」と「Use TLS 1.2」のチェックボックスにチェックを入れます。

8
8
8
2014-11-05 13:12:56 +0000

私はちょうど最近これを研究し、私はこれを追加したい - これはJDKのために動作しません。

JDKアプリケーション(例えばLDAPに接続する必要があるサーバー)のために、サーバーはクライアントですが、デプロイメント.セキュリティは動作しません。

4
4
4
2015-06-18 17:42:31 +0000

デスクトップ上で実行されているJavaアプレットとJava Web Startプログラムでは、deployment.security.session.a*の設定が動作するように見えます。他の人がここで言及するように、あなたはそれを指定するためにdepployment.propertiesを編集することができます。

ここでは、すべてのユーザーのための同じdepployment.propertiesファイルを展開するためにグループポリシーを使用する方法を示す記事です。 http://www.darkoperator.com/blog/2013/1/12/pushing-security-configuration-for-java-7-update-10-via-gpo.html

残念ながら、java.exe または javaw.exe を直接呼び出すコンピュータ上のすべての java プログラムでこれを有効にする方法はありません。javaを使用する各プログラムを見つけて、javaに渡すパラメータを指定する設定ファイルを見つけて変更する必要があります。

Tomcatでは、Tomcatから他のサーバへの接続がTLS 1.1+: -Dhttps.protocols=TLSv1.1,TLSv1.2を使用するように、これを渡す必要がありました。Linuxでは、これはbin/catalina.shを編集するか、bin/setenv.shを作成することで可能です。Apache HTTPでフロントしています。

1
1
1
2018-07-04 15:02:10 +0000

Java 7で立ち往生している場合は、JVMの引数に-Djdk.tls.client.protocols=TLSv1.1,TLSv1.2を追加することができます。

これにはいくつかの注意点があることに注意してください:

これらの欠点にもかかわらず、特に興味のあるプロトコルが TLS を使用しているが HTTPS ではない、例えば LDAPS のような場合には、これは有用であると思います。動かないうちに全てのサーバをUpdate181に更新してしまいました。

関連する質問

8
21
6
10
8