Java のセキュリティと暗号化

TLSv1 と TLSv1.1 を再度有効にする

一部のレガシ システムは、以前の安全でない TLSv1 および TLSv1.1 プロトコルに引き続き関連付けられている可能性があります。 OpenJDK 11.0.11 以降では、これらのプロトコル バージョンは既定で無効になっています。

再度有効にするには、ユーザーが次の手順を実行する必要があります。

  1. JDK のインストール ディレクトリで、フォルダーに移動します。 ./conf/security/
  2. java.security ファイルを開く
  3. 構成プロパティを検索する jdk.tls.disabledAlgorithms
  4. 要素 TLSv1 の削除および/または TLSv1.1
  5. Java アプリケーションを再起動する

JCA と暗号化のための JCE プロバイダー

javax.net.ssl.SSLHandshakeException: 致命的なアラートを受信しました: handshake_failure

セキュリティで保護された接続 (HTTPS、SFTP など) を確立する必要があるアプリケーションは、Java 暗号化アーキテクチャ (JCA) と互換性のあるセキュリティ プロバイダーを備えた Java ランタイム上で実行する必要があります。 OpenJDK プロジェクトには、Java Cryptography Extension (JCE) の既定の実装プロバイダーが jdk.crypto.ec含まれています。

アプリケーションでセキュリティで保護された接続を確立する必要がある場合は、モジュール jdk.crypto.ec が組み立てられた Java ランタイムに含まれていること、またはサードパーティのプロバイダー ( 例: バウンスキャッスル) が含まれていることを確認します。