第2章 Eclipse Temurin の機能


Eclipse Temurin には、OpenJDK のアップストリームディストリビューションの構造の変更は含まれません。

新機能および機能拡張

Eclipse Temurin 17.0.13 には、以下の新機能と機能拡張が含まれています。

Debian Linux に必要なパッケージのリストを生成する jpackage ツールが修正

以前のリリースでは、Debian Linux プラットフォームでは、jpackage ツールが、パス内のシンボリックリンクを使用して、共有ライブラリーから必要なパッケージの不正確なリストを生成することができました。

OpenJDK 17.0.13 はこの問題を解決して、共有ライブラリーの欠落によるインストールの失敗を排除します。

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

TLS_ECDH_* 暗号スイートはデフォルトで無効になっています。

TLS Elliptic-curve Diffie-Hellman (TLS_ECDH)暗号化スイートは、転送機密性を保持しないため、ほとんど使用されません。OpenJDK 17.0.13 は、java.security 設定ファイルの jdk.tls.disabledAlgorithms セキュリティープロパティーに ECDH オプションを追加して、TLS_ECDH 暗号スイートを無効にします。TLS_ECDH 暗号化スイートの使用を試みると、OpenJDK は SSLHandshakeException エラーを出力するようになりました。

TLS_ECDH 暗号スイートを引き続き使用する場合は、java.security 設定ファイルを変更するか、java.security.properties システムプロパティーを使用して、jdk.tls.disabledAlgorithms セキュリティープロパティーから ECDH を削除できます。

注記

TLS_ECDH 暗号化スイートの継続には、独自のリスクがあります。

RC4 を使用する ECDH 暗号スイートは以前のリリースで無効になっていました。この変更は、TLS_ECDHE 暗号化スイートには影響しません。これはデフォルトで有効なままです。

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

2024 年 11 月 11 日に発行され、Entrust ルート CA にアンカーした後に発行された TLS サーバー証明書の要求

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

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

次の 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 サーバー証明書の使用は自己責任を負います。

これらの制限は、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:8D:E5:8D:E5:76:16:C1:E6:E6:14:1A:2C: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]
  • 識別名: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]
  • 識別名: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 認証局(2048)、OU=(c) 1999 Entrust.net Limited, OU=www.entrust.net/CPS_2048 incorp. (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
  • エイリアス名:affirmtrustcommercialca [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:8D:60:C9:6F:5F:A7
証明書 7
  • エイリアス名:affirmtrustnetworkingca [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:CD:31:05:8B:0E:17:F3:F0B4:1B
Certificate 8
  • エイリアス名:affirmtrustpremiumca [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
  • エイリアス名:affirmtrustpremiumeccca [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) を参照してください。

XshowSettings ランチャーオプションの 詳細なロケール出力を削減

以前のリリースでは、-XshowSettings launcher オプションは、利用可能なロケールの長いリストを出力し、他の設定を隠していました。

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

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

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

OpenJDK 17.0.13 では、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) を参照してください。

java.security.debug システムプロパティーの追加の タイムスタンプ および スレッド オプション

OpenJDK 17.0.13 は、指定されたコンポーネントに適用できる java.security.debug プロパティーに次のオプションを追加します。

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

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

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

Java Abstract Window Toolkit (AWT)ロボット仕様の緩和

OpenJDK 17.0.13 は、Java 17 仕様の最新のメンテナンスリリースに基づいています。このリリースでは、java.awt.Robot クラスの次の 3 つのメソッドの仕様が緩和されます。

  • mouseMove(int,int)
  • getPixelColor(int,int)
  • createScreenCapture(Rectangle)

この仕様の緩和により、デスクトップ環境でマウスポインターの移動や画面コンテンツのキャプチャーが許可されない場合に、これらのメソッドが失敗することが可能になります。

JDK-8307779 (JDK バグシステム) を参照してください。

com.sun.jndi.ldap.object.trustSerialData システムプロパティーへの変更

LDAP プロバイダーの JDK 実装は、デフォルトで Java オブジェクトのデシリアライズをサポートしなくなりました。

OpenJDK 17.0.13 では、com.sun.jndi.ldap.object.trustSerialData システムプロパティーはデフォルトで false に設定されています。このリリースでは、com.sun.jndi.ldap.object.trustSerialData プロパティーの範囲も増加し、javaRemoteLocation LDAP 属性からの RMI リモートオブジェクトの再構築も対応しています。

これらの変更により、Java オブジェクトの透過的なデシリアライズに明示的なオプトインが必要になりました。OpenJDK 17.0.13 以降では、アプリケーションが LDAP 属性から Java オブジェクトと RMI スタブを再構築できるようにする場合は、com.sun.jndi.ldap.object.trustSerialData プロパティーを true に明示的に設定する必要があります。

JDK-8290367 (JDK バグシステム)および JDK バグシステムリファレンス ID: JDK-8332643 を参照してください。

HTTP クライアントの機能強化

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

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

JDK バグシステムリファレンス ID: JDK-8328286

ClassLoadingMXBean および MemoryMXBean API の set Verbose ()メソッドと合致する is Verbose () メソッドがあります

ClassLoadingMXBean API の setVerbose (boolean enabled) メソッドには次の動作が表示されます。

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

以前のリリースでは、ClassLoadingMXBean API の isVerbose () メソッドは、stdout だけでなく、任意のタイプのログ出力で クラス+ロード ロギングが Info レベルで有効になっているかどうかをチェックします。この状況では、java -Xlog オプションを使用してファイルへのログインを有効にすると、set Verbose (false) が呼び出されても isVerbose () メソッドは true を返し、これにより直観的な動作が発生します。MemoryMXBean API の isVerbose () メソッドには、同様のカウンター的動作も表示されます。

OpenJDK 17.0.13 以降では、ClassLoadingMXBean.isVerbose ()メソッドMemoryMXBean.isVerbose () メソッドに以下の動作を表示します。

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

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

鍵カプセル化メカニズム API

OpenJDK 17.0.13 では、主要なカプセル化メカニズム(KEM)用の javax.crypto API が導入されています。KEM は、公開鍵暗号を使用して対称鍵を保護するための暗号化手法です。javax.crypto API は、公開鍵暗号の使用を容易にし、シークレットやメッセージを処理する際のセキュリティーを強化するのに役立ちます。

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

改訂日時: 2024-10-30

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.