Red Hat build of OpenJDK 11.0.14 のリリースノート
概要
はじめに
OpenJDK (Open Java Development Kit) は、Java Platform Standard Edition (Java SE) のオープンソース実装です。Red Hat build of OpenJDK は、Red Hat build of OpenJDK 8u、Red Hat build of OpenJDK 11u、および Red Hat build of OpenJDK 17u の 3 つのバージョンで利用できます。
Red Hat build of OpenJDK 向けパッケージは、Red Hat Enterprise Linux および Microsoft Windows で利用でき、Red Hat Ecosystem Catalog で JDK および JRE として同梱されています。
多様性を受け入れるオープンソースの強化
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 の一部のメジャーバージョンを製品でサポートします。一貫性を保つために、これらのバージョンは、Oracle が Oracle JDK 向けに長期サポート (LTS) を指定しているバージョンと同じになります。
Red Hat build of OpenJDK のメジャーバージョンは、最初に導入された時点から少なくとも 6 年間サポートされます。詳細は、OpenJDK のライフサイクルおよびサポートポリシー を参照してください。
RHEL 6 のライフサイクルは 2020 年 11 月に終了します。このため、Red Hat build of OpenJDK は、サポート対象の設定として RHEL 6 をサポートしていません。
第2章 アップストリームの OpenJDK 11 との相違点
Red Hat Enterprise Linux (RHEL) の Red Hat build of OpenJDK には、OpenJDK のアップストリームディストリビューションの構造上の変更が数多く含まれています。Red Hat build of OpenJDK の Microsoft Windows バージョンは、RHEL の更新にできる限り従います。
次のリストは、Red Hat build of OpenJDK 11 の最も注目すべき変更点を詳しく示しています。
- FIPS のサポート。Red Hat build of OpenJDK 11 は、RHEL が FIPS モードであるかどうかを自動的に検出し、Red Hat build of OpenJDK 11 がそのモードで動作するように自動的に設定します。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
- 暗号化ポリシーのサポート。Red Hat build of OpenJDK 11 は、RHEL から有効な暗号化アルゴリズムとキーサイズの制約のリストを取得します。これらの設定コンポーネントは、トランスポート層セキュリティー (TLS) 暗号化プロトコル、証明書パス検証、および署名された JAR によって使用されます。さまざまなセキュリティープロファイルを設定して、安全性と互換性のバランスをとることができます。この変更は、Microsoft Windows 向けの Red Hat build of OpenJDK ビルドには適用されません。
-
RHEL の Red Hat build of OpenJDK は、アーカイブ形式のサポート用の
zlib
、イメージのサポート用のlibjpeg-turbo
、libpng
、giflib
などのネイティブライブラリーと動的にリンクします。また、RHEL はフォントのレンダリングと管理のために、Harfbuzz
およびFreetype
に対して動的にリンクします。 -
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 証明書を使用します。
関連情報
- システムが FIPS モードであるかどうかの検出の詳細は、Red Hat RHEL Planning Jira の システム FIPS 検出の改善 の例を参照してください。
- 暗号化ポリシーの詳細については、Using system-wide cryptographic policies を参照してください。
第3章 Red Hat build of OpenJDK 11.0.14.1 リリースノート
次のリリースノートを確認して、この Red Hat build of OpenJDK 11.0.14 パッチリリースからの変更点を理解してください。
3.1. https://google.com 接続の問題を解決しました
Red Hat build of OpenJDK 11.0.14.1 リリースは、Java HTTP クライアント java.net.HTTPClient
を使用して https://google.com URL に接続するときに特定された問題を解決します。この問題は、Red Hat build of OpenJDK ビルド for Microsoft Windows および Red Hat build of OpenJDK ビルド for RHEL で持続します。
最初の Red Hat build of OpenJDK 11.0.14 リリースには、HTTP クライアントの改善によって導入されたリグレッションが含まれていました。このリグレッションにより、:authority
フィールドとHost
ヘッダーフィールドの両方が HTTP/2 リクエストで送信され、Google のサーバーなどの一部の HTTP サーバーによって拒否されました。この接続を確立しようとすると、例外メッセージが表示されます。この例外メッセージは、JavaHTTP クライアントが HTTP/2 プロトコルを使用して正常に通信できなかったことを示します。
java.net.HTTPClient
を使用して https://google.com に接続しようとしたときの例外メッセージの例
java.util.concurrent.ExecutionException: java.io.IOException: Received RST_STREAM: Protocol error
Red Hat build of OpenJDK 11.0.14.1 リリースは、:authority
ヘッダーフィールドを HTTP/2 リクエストで送信される設定のみの元の動作に戻すことで問題を解決します。
この問題とその解決方法の詳細は、JDK-8218546 を参照してください。また、Red Hat build of OpenJDK 11.0.14.1 リリースに関連するアドバイザリーを参照してください。
第4章 Red Hat build of OpenJDK の機能
最新の Red Hat build of OpenJDK 11 リリースには、新機能が含まれる可能性があります。さらに、この最新リリースは、以前の Red Hat build of OpenJDK 11 リリースに由来する機能を強化、非推奨、または削除する可能性があります。
その他の変更点やセキュリティー修正については、OpenJDK 11.0.14 Released を参照してください。
4.1. 新機能および機能拡張
次のリリースノートを確認して、Red Hat build of OpenJDK 11.0.14 リリースに含まれている新機能と機能拡張を理解してください。
アーカイブファイルシステムプロバイダー
Red Hat build of OpenJDK 11.0.14 の場合、アーカイブファイルプロバイダーは、ドット(.)または 2 つのドット(..)を含むファイル名要素を持つ既存のアーカイブファイルを拒否します。これらの名前付き要素を含む既存のアーカイブファイルをシステムファイルとして使用し、java.nio.file.FileSystems.newFileSystem (…)
メソッドを呼び出すと、このメソッドはコマンドラインインターフェイスで ZipException
エラーメッセージを出力します。
アーカイブファイルシステムプロバイダーへの変更の詳細については、JDK-8271517 を参照してください。
IANA タイムゾーンデータベース
Internet Assigned Numbers Authority (IANA) は、タイムゾーンデータベースをバージョン 2021c に更新しました。Red Hat Open JDK の日付と時刻のライブラリーは、世界中のさまざまな地域の現地時間を決定するために IANA のタイムゾーンデータベースに依存しています。
タイムゾーンデータベースの 2021b リリースでは、1970 年より前に存在していたタイムゾーンルールが更新されました。2021B のリリースの詳細については、IANA Web サイトの 2021b release of tz code and data available を参照してください。
IANA のタイムゾーンデータベースの詳細については、IANA の Web サイトの Time Zone Database を参照してください。
IANA の 2021c タイムゾーンデータベースリリースの詳細については、JDK-8274857 を参照してください。
Open JDK による Microsoft Windows バージョンの識別
Red Hat build of OpenJDK 11 より前のバージョンでは、System.getProperty ()から取得した
Red Hat build of OpenJDK は、これらのシステムで正しいバージョンを識別するようになりました。
os.name
システムプロパティーと HotSpot エラーログは、Microsoft Windows 11 の Windows 10.0
と、Microsoft Windows Server 2022 の Windows Server 2019
を報告します。
GC.heap_dump
診断コマンドの新しいオプション
Red Hat build of OpenJDK 11.0.14 では、jcmd
ユーティリティーの GC.heap_dump
診断コマンドに gz
整数オプションが追加されました。
このオプションを使用して、gzip
圧縮を有効にし、ヒープダンプを作成するときに圧縮レベルを設定できます。圧縮レベルの値の範囲は 1〜9 で、値 1 が最も速い設定で、値 9 が最も遅い設定です。
gz
整数オプションの詳細は、JDK-8250554 を参照してください。
Microsoft Windows バージョン
Microsoft Windows 11 または Microsoft Windows Server 2022 のいずれかで実行される Red Hat build of OpenJDK では、System.getProperty ()
システムプロパティーと HotSpot エラーログの os.name
値に正しい Microsoft Windows バージョンが表示されるようになりました。Red Hat build of OpenJDK 11.0.14 リリースより前は、Microsoft Windows オペレーティングシステムまたは Microsoft Windows Server を新しいバージョンに更新した場合、この動作は不可能でした。
TLS 拡張を無効にするためのシステムプロパティー
2 つの新しいシステムプロパティーを使用して、TLS プロトコルのトランスポート層セキュリティー (TLS) 拡張機能を無効にすることができます。これらのシステムプロパティーの詳細は次のとおりです。
-
jdk.tls.client.disableExtensions
: TLS クライアントによって使用される TLS 拡張を無効にします。 -
jdk.tls.server.disableExtensions
: TLS サーバーで使用される TLS 拡張を無効にします。
無効にされた TLS 拡張は、TLS ハンドシェイクプロセスの一部を形成しません。これらの TLS 拡張は TLS ハンドシェイクを確立するために不可欠であるため、必須の TLS 拡張を無効にしないでください。
どちらのシステムプロパティーも、重複、スペルミス、不明、およびサポートされていない TLS 拡張名を無視します。内線番号は、Internet Assigned Numbers Authority (IANA) の仕様に準拠している必要があります。
これらの新しいシステムプロパティーの詳細については、JDK-8260310 を参照してください。
IANA 仕様に準拠する TLS 拡張機能の詳細については、 IANA Web サイトの Transport Layer Security (TLS) Extensions を参照してください。
SunPKCS11
プロバイダー設定属性
SunPKCS11
プロバイダーには、キーオブジェクトなどのネイティブリソースの使用を強化する新しい設定属性が含まれています。SunPKCS11
プロバイダーは、ネイティブ PKCS11 ライブラリーと連携するために、ネイティブリソースを使用する必要があります。
属性 | 型 |
---|---|
| ブール値 |
| Integer |
| Integer |
新しい SunPKCS11
プロバイダー設定属性の詳細については、JDK-8272907 を参照してください。
4.2. 非推奨および削除された機能
次のリリースノートで、Red Hat build of OpenJDK 11.0.14 リリースで非推奨または削除された既存の機能を確認してください。
Google GlobalSign ルート証明書
Red Hat build of OpenJDK 11.0.14 は、cacerts
キーストアから次のルート証明書を削除します。
- エイリアス名
- globalsignr2ca [jdk]
- 識別名
- CN=GlobalSign、O=GlobalSign、OU=GlobalSign Root CA - R2
この削除された Google Global Sign ルート証明書の詳細については、JDK-8272535 を参照してください。
第5章 このリリースに関連するアドバイザリー
以下のアドバイザリーは、本リリースに含まれるバグ修正および CVE の修正に発行されています。
改訂日時: 2024-05-07