OpenJDK 17.0.4 リリースノート
リリースノート
概要
前書き
OpenJDK (Open Java Development Kit) は、Java Platform Standard Edition (Java SE) のオープンソース実装です。OpenJDK の Red Hat ビルドは、OpenJDK 8u、OpenJDK 11u と OpenJDK 17u の 3 つのバージョンで利用できます。
Red Hat ビルドの OpenJDK 向けパッケージは、Red Hat Enterprise Linux および Microsoft Windows で利用でき、Red Hat Ecosystem Catalog の JDK および JRE として同梱されています。
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。これは大規模な取り組みであるため、これらの変更は今後の複数のリリースで段階的に実施されます。詳細は、弊社の CTO、Chris Wright のメッセージ を参照してください。
Red Hat ドキュメントへのフィードバック
弊社のドキュメントに関するご意見やご感想をお寄せください。フィードバックをお寄せいただくには、ドキュメントのテキストを強調表示し、コメントを追加できます。
本セクションでは、フィードバックの送信方法を説明します。
前提条件
- Red Hat カスタマーポータルにログインしている。
- Red Hat カスタマーポータルで、マルチページ HTML 形式でドキュメントを表示している。
手順
フィードバックを提供するには、以下の手順を実施します。
ドキュメントの右上隅にある フィードバック ボタンをクリックして、既存のフィードバックを確認します。
注記フィードバック機能は、マルチページ HTML 形式でのみ有効です。
- フィードバックを提供するドキュメントのセクションを強調表示します。
ハイライトされたテキスト近くに表示される Add Feedback ポップアップをクリックします。
ページの右側のフィードバックセクションにテキストボックスが表示されます。
テキストボックスにフィードバックを入力し、Submit をクリックします。
ドキュメントに関する問題が作成されます。
- 問題を表示するには、フィードバックビューで問題トラッカーリンクをクリックします。
第1章 OpenJDK のサポートポリシー
Red Hat は、一部の OpenJDK のメジャーバージョンをサポートします。一貫性のため、このバージョンは、長期サポート (LTS) として指定されている Oracle JDK バージョンと引き続き似ています。
Red Hat は、Red Hat が OpenJDK を初めて導入してから 6 年間、OpenJDK のメジャーバージョンに対応しています。
OpenJDK 17 は、2027 年 11 月まで、Microsoft Windows および Red Hat Enterprise Linux で対応しています。
RHEL 6 のライフサイクルは 2020 年 11 月に終了します。このため、OpenJDK はサポート対象設定として RHEL 6 をサポートしません。
関連情報
OpenJDK Life Cycle and Support Policy (Red Hat Customer Portal) を参照してください。
第2章 アップストリームの OpenJDK 17 との相違点
Red Hat Enterprise Linux の OpenJDK には、OpenJDK のアップストリームディストリビューションの構造上の変更が数多く含まれています。Microsoft Windows バージョンの OpenJDK は、Red Hat Enterprise Linux の更新にできる限り従います。
以下は、Red Hat OpenJDK 17 における最も注目すべき変更の一覧です。
- FIPS のサポート。Red Hat OpenJDK 17 は、RHEL が FIPS モードであるかどうかを自動的に検出し、そのモードで動作するように OpenJDK 17 を自動的に設定します。この変更は、Microsoft Windows 向けの OpenJDK ビルドには適用されません。
- 暗号化ポリシーのサポート。Red Hat Open JDK 17 は、有効な暗号化アルゴリズムとキーサイズ制約のリストを RHEL システム設定から取得します。これらの設定コンポーネントは、トランスポート層セキュリティー (TLS) 暗号化プロトコル、証明書パス検証、および署名された JAR によって使用されます。さまざまなセキュリティープロファイルを設定して、安全性と互換性のバランスをとることができます。この変更は、Microsoft Windows 向けの OpenJDK ビルドには適用されません。
-
Red Hat OpenJDK on RHEL は、アーカイブ形式のサポート用の
zlib
、イメージのサポート用のlibjpeg-turbo
、libpng
、giflib
などのネイティブライブラリーと動的にリンクします。また、RHEL はフォントのレンダリングと管理のために、Harfbuzz
およびFreetype
に対して動的にリンクします。この変更は、Microsoft Windows 向けの OpenJDK ビルドには適用されません。 -
src.zip
ファイルには、OpenJDK に同梱されるすべての JAR ライブラリーのソースが含まれます。 - Red Hat OpenJDK on RHEL は、タイムゾーン情報のソースとして、システム全体のタイムゾーンデータファイルを使用します。
- Red Hat OpenJDK on RHEL は、システム全体の CA 証明書を使用します。
- Red Hat OpenJDK on Microsoft Windows には、RHEL で利用可能な最新のタイムゾーンデータが含まれています。
- Red Hat OpenJDK on Microsoft Windows は、RHEL から入手可能な最新の CA 証明書を使用します。
関連情報
第3章 OpenJDK 17.0.4.1 リリースノート
次のリリースノートを確認して、OpenJDK 17.0.4.1 パッチリリースからの変更点を理解してください。
C2 JIT コンパイラーの問題を修正
OpenJDK 17.0.4.1 リリースでは、C2 Just-In-Time (JIT)コンパイラーのリグレッション問題が修正され、HotSpot JVM が予期せずクラッシュしました。
JDK-8292396 (JDK Bug System)を参照してください。
OpenJDK 17.0.4.1 リリースに関連するアドバイザリー
以下のアドバイザリーは、本リリースに含まれるバグ修正および CVE の修正に発行されています。
第4章 OpenJDK の機能
最新の OpenJDK 17 リリースには、新機能が含まれている可能性があります。さらに、最新リリースは、以前の Open JDK 17 リリースに由来する機能を強化、非推奨、または削除する可能性があります。
その他の変更点やセキュリティー修正については、OpenJDK 17.0.4 Released を参照してください。
4.1. OpenJDK の機能強化
OpenJDK 17 では、以前のリリースの OpenJDK で作成された機能に拡張が行われました。
Java Generic Security Services (GSS) または Kerberos の HTTPS チャネルバインディングサポート
OpenJDK 17.0.4 リリースは、Negotiate が javax.net.HttpsURLConnection
を介して HTTPS 経由の Kerberos 認証を選択した場合に、TLS チャネルバインディングトークンをサポートします。
チャネルバインディングトークンは、特定の種類のソーシャルエンジニアリング中間者 (MITM) 攻撃を軽減できる強化されたセキュリティーフォームとしてますます必要とされています。これらは、クライアントからサーバーに、接続セキュリティー (TLS サーバー証明書で表される) とより高いレベルの認証情報 (ユーザー名やパスワードなど) の間のバインディングをクライアントが理解していることを伝えることによって機能します。サーバーは、クライアントが MITM によってだまされたかどうかを検出し、セッション/接続をシャットダウンできます。
この機能は、jdk.https.negotiate.cbt
システム プロパティーによって制御されます。これについては、Oracle のドキュメント で詳しく説明されています。
JDK-8285240 (JDK Bug System) を参照してください。
ProcessBuilder
での引用符付き引数の不適切な処理
OpenJDK 17.0.4 リリースより前では、二重引用符で始まり、バックスラッシュとそれに続く二重引用符で終わる Windows 上の ProcessBuilder
への引数が、コマンドに正しく渡されず、コマンドが失敗していました。たとえば、引数 "C:\\Program Files\"
は、最後に余分な二重引用符があるものとして処理されました。
OpenJDK 17.0.4 リリースでは、最後の二重引用符の前のバックスラッシュ (\) が特別に扱われない、以前に利用可能だった動作を復元することで、この問題を解決しています。
JDK-8283137 (JDK Bug System) を参照してください。
IOException
が発生すると、デフォルトの JDK コンプレッサーが閉じる
DeflaterOutputStream.close()
メソッドおよび GZIPOutputStream.finish()
メソッドが変更され、Throwable
をスタックに伝播する前に、関連付けられているデフォルトの JDK コンプレッサーを閉じるようになりました。ZIPOutputStream.closeEntry()
メソッドが変更され、関連するデフォルトの JDK 圧縮プログラムが閉じられてから、タイプ ZipException
ではなく IOException
がスタックに伝播されるようになりました。
JDK-8278386 (JDK Bug System) を参照してください。
java.io.File での Windows 代替データストリームサポートを無効にする新しいシステムプロパティー
java.io.File
の Windows 実装では、デフォルトで NTFS 代替データストリーム (ADS) へのアクセスが許可されます。これらのストリームは、filename:streamname の形式で構造化されています。OpenJDK 17.0.4 リリースでは、java.io.File
で ADS サポートを無効にできるシステムプロパティーが追加されています。java.io.File
で ADS サポートを無効にするには、jdk.io.File.enableADS
システムプロパティーを false
に設定します。
java.io.File
で ADS サポートを無効にすると、より厳密なパスチェックが行われ、NUL:
などの特殊なデバイスファイルの使用が防止されます。
JDK-8285660 (JDK Bug System) を参照してください。
改訂日時:2022-10-15 17:46:32 +1000