第2章 Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の主な違い
Java アプリケーションを Red Hat build of OpenJDK 8 から Red Hat build of OpenJDK 11 に移行する前に、Red Hat build of OpenJDK 11 の更新と変更を理解する必要があります。これらの更新と変更により、アプリケーションを Red Hat build of OpenJDK 11 に移行する前に、Red Hat build of OpenJDK 8 を設定することが必要になる場合があります。
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の主な違いの 1 つは、Red Hat build of OpenJDK 11 にモジュールシステムが含まれていることです。Red Hat build of OpenJDK 8 アプリケーションを Red Hat build of OpenJDK 11 に移行する場合は、アプリケーションのライブラリーとモジュールを Red Hat build of OpenJDK 8 のクラスパスから Red Hat build of OpenJDK 11 のモジュールクラスに移動することを検討してください。この変更により、アプリケーションのクラスローディング機能を向上させることができます。
Red Hat build of OpenJDK 11 には、メモリー使用量の向上、起動速度の向上、コンテナー統合の向上など、アプリケーションのパフォーマンスを向上させることができる新機能と機能拡張が含まれています。
一部の機能は、Red Hat build of OpenJDK と、OpenJDK の他のアップストリームバージョンまたはサードパーティーバージョンとで異なる場合があります。たとえば、Shenandoah ガベージコレクター (GC) はすべての Red Hat build of OpenJDK で使用できますが、他の builds of OpenJDK ではデフォルトで使用できない場合があります。
2.1. 暗号化とセキュリティー
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の間には、暗号化とセキュリティーに若干の違いがあります。ただし、Red Hat build of OpenJDK の両バージョンには、多くの類似した暗号化およびセキュリティー動作があります。
OpenJDK の Red Hat ビルドはシステム全体の証明書を使用し、各ビルドはシステムのグローバル設定から無効な暗号化アルゴリズムのリストを取得します。これらの設定は、Red Hat がサポートするすべての Red Hat build of OpenJDK リリースに共通であるため、Red Hat build of OpenJDK 8 から Red Hat build of OpenJDK 11 に簡単に変更できます。
FIPS モードでは、Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 のリリースは自己設定されるため、どちらのリリースでも起動時に同じセキュリティープロバイダーが使用されます。
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の TLS スタックは似ています。これは、Red Hat build of OpenJDK 11 の SunJSSE エンジンが Red Hat build of OpenJDK 8 にバックポートされたためです。Red Hat build of OpenJDK の両バージョンが、TLS 1.3 プロトコルをサポートしています。
Red Hat build of OpenJDK 8 と Red Hat build of OpenJDK 11 の間には、次のように、暗号化とセキュリティーに若干の違いがあります。
-
Red Hat build of OpenJDK 8 では、クライアント側の TLSv1.3 がデフォルトで無効になっているため、Red Hat build of OpenJDK 8 の TLS クライアントは、ターゲットサーバーとの通信プロセス中に TLSv1.3 プロトコルを使用しません。
jdk.tls.client.protocols
システムプロパティーを使用して、Red Hat build of OpenJDK 11 に-Djdk.tls.client.protocols=TLSv1.3
プロパティーを設定することで、この動作を変更できます。 -
Red Hat build of OpenJDK 11 は、Diffie-Hellman 鍵交換での
X25519
およびX448
EC 曲線の使用をサポートしています。このサポートは、Red Hat build of OpenJDK 8 では利用できません。 -
Red Hat build of OpenJDK 11 は、従来の KRB5 ベースの暗号スイートをサポートしていません。Red Hat build of OpenJDK 8 は引き続きレガシー KRB5 ベースの暗号スイートをサポートしますが、
jdk.tls.client.cipherSuites
およびjdk.tls.server.cipherSuites
システムプロパティーを変更して、これらの暗号スイートを有効にする必要があります。 -
Red Hat build of OpenJDK 11 は Datagram Transport Layer Security (DTLS) プロトコルをサポートしているため、TLS クライアントとサーバーは DTLS の
max_fragment_length
エクステンションを使用できます。Red Hat build of OpenJDK 8 は、このプロトコルをサポートしていません。