Red Hat build of OpenJDK 21.0.5 のリリースノート


Red Hat build of OpenJDK 21

Red Hat Customer Content Services

概要

Red Hat build of OpenJDK 21.0.5 のリリースノート』 では、Red Hat build of OpenJDK 21 の新機能の概要と、潜在的な既知の問題および考えられる回避策のリストを提供します。

はじめに

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 アカウントをお持ちでない場合は、アカウントを作成するように求められます。

手順

  1. 次のリンクをクリックして チケットを作成します
  2. Summary に課題の簡単な説明を入力します。
  3. Description に課題や機能拡張の詳細な説明を入力します。問題があるドキュメントのセクションへの URL も記載してください。
  4. 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 21 との相違点

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 21 における最も注目すべき変更のリストです。

  • FIPS のサポート。Red Hat build of OpenJDK 21 は、RHEL が FIPS モードであるかを自動的に検出し、Red Hat build of OpenJDK 21 がそのモードで動作するように自動的に設定します。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
  • 暗号化ポリシーのサポート。Red Hat build of OpenJDK 21 は、有効な暗号化アルゴリズムとキーサイズ制約のリストを RHEL システム設定から取得します。これらの設定コンポーネントは、トランスポート層セキュリティー (TLS) 暗号化プロトコル、証明書パス検証、および署名された JAR によって使用されます。さまざまなセキュリティープロファイルを設定して、安全性と互換性のバランスをとることができます。この変更は、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 証明書を使用します。

第3章 Red Hat build of OpenJDK の機能

最新の Red Hat build of OpenJDK 21 リリースには、新機能が含まれる可能性があります。さらに、最新リリースは、以前の Red Hat build of OpenJDK 21 リリースに由来する機能を強化、非推奨、または削除する可能性があります。

Red Hat build of OpenJDK の機能強化

Red Hat build of OpenJDK 21 では、以前のリリースの Red Hat build of OpenJDK で作成された機能に拡張が行われました。

2024 年 11 月 11 日以降に発行され、Entrust ルート CA によってアンカーされた TLS サーバー証明書を信頼できなくなる

Google と Mozilla が最近発表した同様の計画に従い、Red Hat build of OpenJDK 21.0.5 では、2024 年 11 月 11 日以降に発行され、Entrust ルート認証局 (CA) によってアンカーされた TLS 証明書が信頼されなくなります。この動作の変更には、Entrust によって管理されている AffirmTrust というブランドのすべての証明書が含まれます。

Red Hat build of OpenJDK は、2024 年 11 月 11 日以前に発行された証明書を、その証明書の有効期限が切れるまで引き続き信頼します。

サーバーの証明書チェーンが影響を受ける証明書によってアンカーされている場合は、TLS セッションをネゴシエートしようとすると、トラストアンカーが信頼されていないことを示す例外が発生して失敗するようになりました。以下に例を示します。

TLS server certificate issued after 2024-11-11 and anchored by a distrusted legacy Entrust root CA: CN=Entrust.net CertificationAuthority (2048), OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net
Copy to Clipboard Toggle word wrap

次の keytool コマンドを使用して、この変更が JDK キーストア内の証明書に影響するかどうかを確認できます。

keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>

この変更がチェーン内のいずれかの証明書に影響する場合は、この証明書を更新するか、証明書の管理を担当する組織に問い合わせてください。

Entrust ルート証明書でアンカーされた TLS サーバー証明書を引き続き使用する場合は、jdk.security.caDistrustPolicies セキュリティープロパティーから ENTRUST_TLS を削除するには、java.security 設定ファイルを変更するか、java.security.properties システムプロパティーを使用します。

注記

信頼されていない TLS サーバー証明書を引き続き使用する場合は、お客様の責任となります。

これらの制限は、Red Hat build of OpenJDK に含まれる次の Entrust ルート証明書に適用されます。

証明書 1
  • エイリアス名: entrustevca [jdk]
  • 識別名: CN=Entrust Root Certification Authority, OU=(c) 2006 Entrust, Inc., OU=www.entrust.net/CPS (参照により組み込み), O=Entrust, Inc., C=US
  • SHA256: 73:C1:76:43:4F:1B:C6:D5:AD:F4:5B:0E:76:E7:27:28:7C:8D:E5:76:16:C1:E6:E6:14:1A:2B:2C:BC:7D:8E:4C
証明書 2
  • エイリアス名: entrustrootcaec1 [jdk]
  • 識別名: CN=Entrust Root Certification Authority - EC1, OU=(c) 2012 Entrust, Inc. (承認された使用のみ), OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
  • SHA256: 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5
証明書 3
  • エイリアス名: entrustrootcag2 [jdk]
  • Distinguished name: CN=Entrust Root Certification Authority - G2, OU=(c) 2009 Entrust, Inc. (承認された使用のみ), OU=See www.entrust.net/legal-terms, O=Entrust, Inc., C=US
  • SHA256: 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39
証明書 4
  • エイリアス名: entrustrootcag4 [jdk]
  • Distinguished name: CN=Entrust Root Certification Authority - G4, OU=(c) 2015 Entrust, Inc. (承認された使用のみ), OU=See www.entrust.net/legal-termsO=Entrust, Inc., C=US
  • SHA256: DB:35:17:D1:F6:73:2A:2D:5A:B9:7C:53:3E:C7:07:79:EE:32:70:A6:2F:B4:AC:42:38:37:24:60:E6:F0:1E:88
証明書 5
  • エイリアス名: entrust2048ca [jdk]
  • 識別名: CN=Entrust.net Certification Authority (2048), OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.), O=Entrust.net
  • SHA256: 6D:C4:71:72:E0:1C:BC:B0:BF:62:58:0D:89:5F:E2:B8:AC:9A:D4:F8:73:80:1E:0C:10:B9:C8:37:D2:1E:B1:77
証明書 6
  • エイリアス名: firmtrustcommercialca [jdk]
  • 識別名: CN=AffirmTrust Commercial, O=AffirmTrust、C=US
  • SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
証明書 7
  • エイリアス名: firmtrustnetworkingca [jdk]
  • 識別名: CN=AffirmTrust Networking, O=AffirmTrust、C=US
  • SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B
証明書 8
  • エイリアス名: firmtrustpremiumca [jdk]
  • 識別名: CN=AffirmTrust Premium, O=AffirmTrust、C=US
  • SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
証明書 9
  • エイリアス名: firmtrustpremiumeccca [jdk]
  • 識別名: CN=AffirmTrust Premium ECCO=AffirmTrust、C=US
  • SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23

JDK-8337664 (JDK Bug System) および JDK-8341059 (JDK Bug System) を参照してください。

KEM.getInstance() メソッドは、サードパーティーのセキュリティープロバイダーが署名されているかどうかを確認します。

JDK の暗号化フレームワークは、プロバイダーのコードベースを判別し、プロバイダーの署名を検証することで、サードパーティーのセキュリティープロバイダーの実装を認証します。

以前のリリースでは、JDK はキーカプセル化メカニズム (KEM) の実装を認証しませんでした。

Red Hat build of OpenJDK 21.0.5 は、Cipher や Mac プロバイダーなどの他の JDK サービスタイプと一致する方法で、KEM 実装を認証します。

JDK-8322971 (JDK Bug System) を参照してください。

-XshowSettings ランチャーオプションの詳細なロケール出力が削減された

以前のリリースでは、-XshowSettings ランチャーオプションは、使用可能なロケールの長いリストを出力し、他の設定が見えにくくなっていました。

Red Hat build of OpenJDK 21.0.5 では、-XshowSettings ランチャーオプションは、デフォルトで使用可能なロケールのリストを出力しなくなりました。使用可能なロケールに関連するすべての設定を表示する場合は、-XshowSettings:locale オプションを使用できます。

JDK-8310201 (JDK Bug System) を参照してください。

java.security.debug システムプロパティーの timestampthread オプションが追加される

Red Hat build of OpenJDK 21.0.5 では、java.security.debug プロパティーに次のオプションが追加され、指定された任意のコンポーネントに適用できます。

  • +timestamp オプションは、各デバッグステートメントにタイムスタンプを出力します。
  • +thread オプションは、各デバッグステートメントのスレッドと呼び出し元の情報を出力します。

たとえば、-Djava.security.debug=all+timestamp+thread は、タイムスタンプとスレッド情報の両方を含むすべてのコンポーネントのデバッグ情報を有効にします。または、-Djava.security.debug=properties+timestamp は、セキュリティープロパティーのデバッグ情報のみを有効にし、タイムスタンプを含めます。-Djava.security.debug=help を使用すると、サポートされているコンポーネントとオプションの完全なリストを表示できます。

JDK-8051959 (JDK Bug System) を参照してください。

SSL.com ルート証明書が追加される

Red Hat build of OpenJDK 21.0.5 では、cacerts トラストストアに 2 つの SSL.com TLS ルート証明書が含まれています。

証明書 1
  • 名前: SSL.com
  • エイリアス名: ssltlsrootecc2022
  • 識別名: CN=SSL.com TLS ECC Root CA 2022、O=SSL Corporation、C=US
証明書 2
  • 名前: SSL.com
  • エイリアス名: ssltlsrootrsa2022
  • 識別名: CN=SSL.com TLS RSA Root CA 2022、O=SSL Corporation、C=US

JDK-8341057 (JDK Bug System) を参照してください。

HTTP クライアントの機能が強化される

Red Hat build of OpenJDK 21.0.5 では、サポートされているすべてのバージョンの HTTP プロトコルに対して、JDK 内で HTTP クライアントが受け入れる最大ヘッダーフィールドサイズが制限されます。ヘッダーフィールドのサイズは、圧縮されていないヘッダー名のサイズ、圧縮されていないヘッダー値のサイズ、および各フィールドセクションラインの 32 バイトのオーバーヘッドの合計として計算されます。ピアがこの制限を超えるフィールドセクションを送信すると、java.net.ProtocolException が発生します。

Red Hat build of OpenJDK 21.0.5 では、最大ヘッダーフィールドサイズ (バイト単位) を変更するために使用できる jdk.http.maxHeaderSize システムプロパティーが導入されています。または、jdk.http.maxHeaderSize プロパティーをゼロまたは負の値に設定して、最大ヘッダーフィールドサイズを無効にすることもできます。jdk.http.maxHeaderSize プロパティーは、デフォルトで 393,216 バイト (つまり 384 KB) に設定されています。

JDK-8328286 (JDK Bug System) を参照してください。

ClassLoadingMXBean および MemoryMXBean API に、setVerbose() メソッドと一致する isVerbose() メソッドがある

ClassLoadingMXBean API の setVerbose (boolean enabled) メソッドが、次の動作を示します。

  • enabledtrue の場合、setVerbose メソッドは、Info レベルで標準出力 (stdout) に class+load* ログ記録を設定します。
  • enabledfalse の場合、setVerbose メソッドは stdout での class+load* ログを無効にします。

以前のリリースでは、ClassLoadingMXBean API の isVerbose() メソッドは、stdout だけでなく、あらゆるタイプのログ出力の Info レベルで class+load ロギングが有効になっているかどうかをチェックしていました。この状況では、java -Xlog オプションを使用してファイルへのログ記録を有効にすると、setVerbose (false) が呼び出されても isVerbose() メソッドは true を返し、予期せぬ動作が発生しました。MemoryMXBean API の isVerbose() メソッドでも同様に予期せぬ動作が発生しました。

Red Hat build of OpenJDK 21.0.5 では、ClassLoadingMXBean.isVerbose() および MemoryMXBean.isVerbose() メソッドが次の動作を示します。

  • ClassLoadingMXBean::isVerbose() は、class+load* ロギングが Info レベル (またはそれ以上) で、具体的には標準出力 (stdout) で有効になっている場合にのみ true を返します。
  • MemoryMXBean::isVerbose() は、stdout でガベージコレクターのロギングが Info レベル (またはそれ以上) で有効になっている場合にのみ true を返します。

JDK-8338139 (JDK Bug System) を参照してください。

第4章 このリリースに関連するアドバイザリー

このリリースに含まれるバグ修正と CVE 修正を文書化するために、次のアドバイザリーが発行されます。

改訂日時: 2024-10-19

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat