Red Hat build of OpenJDK 17.0.15 のリリースノート
概要
はじめに
Open Java Development Kit (OpenJDK) は、Java Platform Standard Edition (Java SE) のオープンソース実装です。Red Hat build of OpenJDK は、8u、11u、17u、21u の 4 つのバージョンで利用できます。
Red Hat build of OpenJDK 向けパッケージは、Red Hat Enterprise Linux および Microsoft Windows で利用でき、Red Hat Ecosystem Catalog の JDK および JRE として同梱されています。
Red Hat build of OpenJDK ドキュメントへのフィードバック
エラーを報告したり、ドキュメントの改善を提案したりするには、Red Hat Jira アカウントにログインし、課題を送信してください。Red Hat Jira アカウントをお持ちでない場合は、アカウントを作成するように求められます。
手順
- 次のリンクをクリックして チケットを作成します。
- Summary に課題の簡単な説明を入力します。
- Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL も記載してください。
- Create をクリックすると、課題が作成され、適切なドキュメントチームに転送されます。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、用語の置き換えは、今後の複数のリリースにわたって段階的に実施されます。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Red Hat build of OpenJDK のサポートポリシー
Red Hat は、Red Hat build of OpenJDK の一部のメジャーバージョンを製品でサポートします。一貫性を保つために、これらのバージョンは長期サポート (LTS) として指定されている Oracle JDK バージョンと同様のままとなります。
Red Hat build of OpenJDK のメジャーバージョンは、最初に導入された時点から少なくとも 6 年間サポートされます。詳細は、OpenJDK のライフサイクルおよびサポートポリシー を参照してください。
RHEL 6 のライフサイクルは 2020 年 11 月に終了します。このため、Red Hat build of OpenJDK は、サポート対象の設定として RHEL 6 をサポートしていません。
第2章 アップストリームの OpenJDK 17 との相違点
Red Hat Enterprise Linux の OpenJDK には、Red Hat build of OpenJDK のアップストリームディストリビューションの構造上の変更が数多く含まれています。Microsoft Windows バージョンの Red Hat build of OpenJDK は、Red Hat Enterprise Linux の更新にできる限り従います。
以下は、Red Hat build of OpenJDK 17 における最も注目すべき変更のリストです。
- FIPS のサポート。Red Hat build of OpenJDK 17 は、RHEL が FIPS モードであるかどうかを自動的に検出し、Red Hat build of OpenJDK 17 がそのモードで動作するように自動的に設定します。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
- 暗号化ポリシーのサポート。Red Hat build of OpenJDK 17 は、有効な暗号化アルゴリズムとキーサイズ制約のリストを RHEL システム設定から取得します。これらの設定コンポーネントは、トランスポート層セキュリティー (TLS) 暗号化プロトコル、証明書パス検証、および署名された JAR によって使用されます。さまざまなセキュリティープロファイルを設定して、安全性と互換性のバランスをとることができます。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
-
RHEL の Red Hat build of OpenJDK は、アーカイブ形式のサポート用の
zlib
、イメージのサポート用のlibjpeg-turbo
、libpng
、giflib
などのネイティブライブラリーと動的にリンクします。また、RHEL はフォントのレンダリングと管理のために、Harfbuzz
およびFreetype
に対して動的にリンクします。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。 -
src.zip
ファイルには、Red Hat build of OpenJDK に同梱されるすべての JAR ライブラリーのソースが含まれます。 - RHEL の Red Hat build of OpenJDK は、タイムゾーン情報のソースとして、システム全体のタイムゾーンデータファイルを使用します。
- RHEL の Red Hat build of OpenJDK は、システム全体の CA 証明書を使用します。
- Microsoft Windows の Red Hat build of OpenJDK には、RHEL で利用可能な最新のタイムゾーンデータが含まれています。
- Microsoft Windows の Red Hat build of OpenJDK は、RHEL から入手可能な最新の CA 証明書を使用します。
関連情報
- Improve system FIPS detection (RHEL Planning Jira) を参照してください。
- システム全体の暗号化ポリシーの使用 (RHEL ドキュメンテーション) を参照してください。
第3章 Red Hat build of OpenJDK の機能
最新の Red Hat build of OpenJDK 17 には、新機能が含まれている可能性があります。さらに、最新リリースは、以前の Red Hat build of OpenJDK 17 リリースに由来する機能を強化、非推奨、または削除する可能性があります。
その他の変更点やセキュリティー修正については、OpenJDK 17.0.15 Released を参照してください。
Red Hat build of OpenJDK の機能強化
Red Hat build of OpenJDK 17 では、以前のリリースの Red Hat build of OpenJDK で作成された機能に拡張が行われました。
削除されたファイルエントリーに関する jarsigner
ツールからの警告
以前の Red Hat build of OpenJDK リリースでは、ファイルが署名付き JAR ファイルから削除されても、ファイル署名がまだ存在すると、jarsigner
ツールはこの状況を検出しませんでした。
Red Hat build of OpenJDK 17.0.15 では、jarsigner -verify
コマンドを使用して、すべての署名に一致するファイルエントリーがあることを確認できます。不一致が存在する場合は、このコマンドが警告を出力します。一致しないエントリーの名前を表示するには、コマンドに the -verbose
オプションを追加します。
JDK-8309841 (JDK バグシステム) を参照してください。
2025 年 4 月 15 日と Camerfirma ルート CA によってアンカー後に発行された TLS サーバー証明書の要求
同様に、Google、Mozilla、Apple、および Microsoft が発表されたという計画に従い、Red Hat build of OpenJDK 17.0.15 は、Camerfirma ルート証明書により 15 月 2025 以降およびアンカー後に発行される TLS 証明書を信頼します。
Red Hat build of OpenJDK は、これらの証明書が期限切れになるまで、または 2025 年 4 月 15 日より前に発行された証明書を信頼します。
サーバーの証明書チェーンが影響を受ける証明書によってアンカーされている場合は、TLS セッションをネゴシエートしようとすると、トラストアンカーが信頼されていないことを示す例外が発生して失敗するようになりました。以下に例を示します。
TLS server certificate issued after 2025-04-15 and anchored by a distrusted legacy Camerfirma root CA: CN=Chambers of Commerce Root - 2008, O=AC Camerfirma S.A., SERIALNUMBER=A82743287, L=Madrid (see current address at www.camerfirma.com/address), C=EU
次の keytool
コマンドを使用して、この変更が JDK キーストア内の証明書に影響するかどうかを確認できます。
keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>
この変更がチェーン内の証明書に影響する場合は、この証明書を更新するか、証明書の管理を担当する組織に問い合わせます。
Camerfirma ルート証明書によってアンカーされた TLS サーバー証明書を引き続き使用する場合は、jdk.security.caDistrustPolicies セキュリティープロパティーから、jdk.security.caDistrustPolicies
セキュリティープロパティーから、java.security
.properties システムプロパティーを使用するか、java.security.properties
システムプロパティーを使用します。
信頼されていない TLS サーバー証明書を引き続き使用する場合は、お客様の責任となります。
これらの制限は、Red Hat build of OpenJDK に含まれる以下の Camerfirma ルート証明書に適用されます。
- 証明書 1
- Alias name: camerfirmachamberscommerceca [jdk]
- 識別名:CN=Chambers of Commerce Root OU=http://www.chambersign.org O=AC Camerfirma SA CIF A82743287 C=EU
- SHA256: 0C:25:8A:12:A5:67:4A:EF:25:F2:8B:A7:DC:FA:EC:EE:A3:48:E5:41:E6:F5:CC:4E:E6:3B:71:B3:61:60:6A:C3
- 証明書 2
- エイリアス名:camerfirmachambersca [jdk]
- 識別名:CN=Chambers of Commerce Root - 2008 O=AC Camerfirma S.A。SERIALNUMBER=A82743287 L=Madrid (www.camerfirma.com/address で現在のアドレスを参照) C=EU
- SHA256: 06:3E:4A:FA:C4:91:DF:D3:32:F3:08:9B:85:42:E9:46:17:D8:93:D7:FE:94:4E:10:A7:93:7E:E2:9D:96:93:C0
- 証明書 3
- エイリアス名:camerfirmachambersignca [jdk]
- 識別名:CN=Global Chambersign Root - 2008 O=AC Camerfirma S.A。SERIALNUMBER=A82743287 L=Madrid (www.camerfirma.com/address で現在のアドレスを参照) C=EU
- SHA256: 13:63:35:43:93:A7:69:80:16:A0:D3:24:DE:72:28:4E:07:9D:7B:52:20:BB:8F:BD:74:78:16:EE:BA:CA
JDK-8346587 (JDK Bug System) を参照してください。
PKCS11 メカニズムにおける問題のある SunPKCS11 プロバイダーチェックの修正
OpenJDK 14 では、SunPKCS11 プロバイダーは レガシーメカニズム の概念を導入しました。メカニズムが弱いアルゴリズムを使用している場合、プロバイダーはこのメカニズムがレガシーであると判断し、その後無効にします。
以前のリリースでは、この動作は柔軟ではありませんでした。たとえば、従来の決定を上書きして、無効なメカニズムを有効にすることはできません。また、暗号化が使用されていない場合でも、署名に使用されているメカニズムがレガシーと見なされる可能性があり、弱い暗号化アルゴリズムがある場合は無効にすることができます。同様に、弱い署名アルゴリズムでは、暗号化または復号化の暗号としてメカニズムを使用できませんでした。
Red Hat build of OpenJDK 17.0.15 では、SunPKCS11 プロバイダーの allowLegacy
設定プロパティーを導入することで、これらの問題を解決しています。allowLegacy
プロパティーを true
に設定すると、レガシーの決定を上書きできます。このプロパティーは、デフォルトで false
に設定されます。
本リリース以降、プロバイダーはレガシーステータスを決定する際にサービスタイプも考慮します。プロバイダーは、暗号に対してのみ暗号化アルゴリズムをチェックし、署名アルゴリズムのみを署名をチェックするようになりました。
JDK-8293345 (JDK Bug System) を参照してください。
部分的に初期化された JVM を取得する JNI_GetCreatedJavaVM
メソッドの修正
以前の Red Hat build of OpenJDK リリースでは、Java Native Interface (JNI)メソッド jint JNI_GetCreatedJavaVMs (JavaVM **vm_buf, jsize bufLen, jsize *numVMs)
が初期化中 vm_buf
アレイで仮想マシンを返した可能性があります。
Red Hat build of OpenJDK 17.0.15 では、JNI_GetCreatedJavaVM
メソッドが完全に初期化された VM のみを返すようにすることで、この問題を解決しています。
vm_buf
アレイを使用する前に、numVM で返される仮想マシンの数が 0 より大きい
ことを確認してください。
JDK-8308341 (JDK バグシステム) を参照してください。
OCSP、CRL、および証明書フェッチのタイムアウトの強化
Red Hat build of OpenJDK 17.0.15 には、OCSP (Online Certificate Status Protocol)接続と証明書の取得のタイムアウトをより細かく制御できる 3 つの新しい設定プロパティーが導入されています。
-
com.sun.security.ocsp.readtimeout
プロパティーは、OCSP データの読み取りタイムアウトを指定します。このプロパティーは既存のcom.sun.security.ocsp.timeout
プロパティーとペアになります。つまり、OCSP データを読み取るためのタイムアウトを設定し、トランスポート層に互いに独立して設定できるようになりました。com.sun.security.ocsp.readtimeout
の値を指定しない場合、JDK は以前のリリースと同様にcom.sun.security.ocsp.timeout
の値を使用します。デフォルト値は 15 秒です。 -
com.sun.security.cert.timeout
プロパティーは、認証局の証明書のダウンロードの接続タイムアウトを指定します。デフォルト値は 15 秒です。 -
com.sun.security.crl.readtimeout
プロパティーは、認証局の証明書のダウンロードの証明書失効リスト(CRL)データを読み取るタイムアウトを指定します。デフォルト値は 15 秒です。
証明書のダウンロードを有効にするには、com.sun.security.enableAIAcaIssuers
プロパティーが true
に設定されていることを確認します。
Red Hat build of OpenJDK 17.0.15 には、4 つのタイムアウトプロパティーすべてに対する構文の改善も含まれています。依然として JDK では、値は正の 10 進数の整数である必要がありますが、オプションの接尾辞を追加して単位(秒単位)、ミリ秒単位 の
単位を示すことができるようになりました。接尾辞を指定しない場合、JDK は以前のリリースと同様に値を秒として解釈します。接尾辞の前に 10 進数以外の値を指定すると、JDK はこの値を拒否し、代わりにデフォルト値を使用します。無効な値の例として
-5
、0xA
、および 6.2
の例を示します。
JDK-8179502 (JDK Bug System) を参照してください。
第4章 このリリースに関連するアドバイザリー
このリリースに含まれるバグ修正と CVE 修正を文書化するために、次のアドバイザリーが発行されます。
改訂日時: 2025-04-30