From 096185b3d53e46ff0d0ecd8b5977dc0c12ab29fc Mon Sep 17 00:00:00 2001 From: OLTranslationBot Date: Fri, 12 Jun 2026 06:46:43 +0000 Subject: [PATCH] Add Japanese and Chinese translations for 2 blog posts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automated translation from en to Japanese (ja) and Simplified Chinese (zh-Hans) Translated files: - 2026-04-21-26.0.0.4.adoc → ja & zh-Hans - 2026-05-19-26.0.0.5.adoc → ja & zh-Hans Updated English source files with language links: - posts/2026-04-21-26.0.0.4.adoc - posts/2026-05-19-26.0.0.5.adoc Generated by translation pipeline Signed-off-by: OLTranslationBot Co-authored-by-AI: IBM Bob (1.0.4) --- posts/2026-04-21-26.0.0.4.adoc | 5 + posts/2026-05-19-26.0.0.5.adoc | 3 + posts/ja/2026-04-21-26.0.0.4.adoc | 344 +++++++++++++++++++++ posts/ja/2026-05-19-26.0.0.5.adoc | 407 +++++++++++++++++++++++++ posts/zh-Hans/2026-04-21-26.0.0.4.adoc | 344 +++++++++++++++++++++ 5 files changed, 1103 insertions(+) create mode 100644 posts/ja/2026-04-21-26.0.0.4.adoc create mode 100644 posts/ja/2026-05-19-26.0.0.5.adoc create mode 100644 posts/zh-Hans/2026-04-21-26.0.0.4.adoc diff --git a/posts/2026-04-21-26.0.0.4.adoc b/posts/2026-04-21-26.0.0.4.adoc index 7e211fcbd8..7854879f2b 100644 --- a/posts/2026-04-21-26.0.0.4.adoc +++ b/posts/2026-04-21-26.0.0.4.adoc @@ -10,6 +10,11 @@ seo-description: This release introduces support for selecting JWT signature alg blog_description: This release introduces support for selecting JWT signature algorithms from JOSE headers and adds Java 26 support. It also removes the default LTPA keys password for enhanced security, and includes file transfer restrictions and security vulnerability fixes. open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: ja + path: /ja/blog/2026/04/21/26.0.0.4.html +- lang: zh-Hans + path: /zh-Hans/blog/2026/04/21/26.0.0.4.html --- = Enhanced JWT validation, Java 26 support, and more in 26.0.0.4 Navaneeth S Nair diff --git a/posts/2026-05-19-26.0.0.5.adoc b/posts/2026-05-19-26.0.0.5.adoc index c64332fa46..9397f87f59 100644 --- a/posts/2026-05-19-26.0.0.5.adoc +++ b/posts/2026-05-19-26.0.0.5.adoc @@ -10,6 +10,9 @@ seo-description: This release introduces official support for Jakarta EE 11, Spr blog_description: This release introduces official support for Jakarta EE 11, Spring Boot 4.0 applications, and updated TLS/SSL cipher handling in Open Liberty, including enhanced Spring Boot deployment support and simplified SSL cipher configuration. open-graph-image: https://openliberty.io/img/twitter_card.jpg open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: ja + path: /ja/blog/2026/05/19/26.0.0.5.html --- = Jakarta EE 11, Spring Boot 4.0, and more in 26.0.0.5 Navaneeth S Nair diff --git a/posts/ja/2026-04-21-26.0.0.4.adoc b/posts/ja/2026-04-21-26.0.0.4.adoc new file mode 100644 index 0000000000..c1047188c5 --- /dev/null +++ b/posts/ja/2026-04-21-26.0.0.4.adoc @@ -0,0 +1,344 @@ +--- +layout: post +title: "26.0.0.4 での JWT 検証の強化、Java 26 サポートなど" +# Do NOT change the categories section +categories: blog +author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 +author_github: https://github.com/navaneethsnair1 +seo-title: 26.0.0.4 での JWT 検証の強化、Java 26 サポートなど - OpenLiberty.io +seo-description: このリリースでは、JOSE ヘッダーから JWT 署名アルゴリズムを選択するサポートが導入され、Java 26 サポートが追加されました。また、セキュリティ強化のためにデフォルトの LTPA キーパスワードが削除され、ファイル転送制限とセキュリティ脆弱性の修正が含まれています。 +blog_description: このリリースでは、JOSE ヘッダーから JWT 署名アルゴリズムを選択するサポートが導入され、Java 26 サポートが追加されました。また、セキュリティ強化のためにデフォルトの LTPA キーパスワードが削除され、ファイル転送制限とセキュリティ脆弱性の修正が含まれています。 +open-graph-image: https://openliberty.io/img/twitter_card.jpg +open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: en + path: /blog/2026/04/21/26.0.0.4.html +additional_authors: +- name: Ismath Badsha (校正) + github: https://github.com/IsmathBadsha + image: https://avatars.githubusercontent.com/IsmathBadsha +--- += 26.0.0.4 での JWT 検証の強化、Java 26 サポートなど +Navaneeth S Nair +:imagesdir: / +:url-prefix: +:url-about: / +//Blank line here is necessary before starting the body of the post. + +このリリースでは、JOSE ヘッダーから JWT 署名アルゴリズムを選択するサポートが導入され、Java 26 サポートが追加されました。また、セキュリティ強化のためにデフォルトの LTPA キーパスワードが削除され、ファイル転送制限とセキュリティ脆弱性の修正が含まれています。 + +link:{url-about}[Open Liberty] 26.0.0.4 の内容: + +* <> +* <> +* <> +* <> +* <> +* <> + + +// // // // // // // // +// In the preceding section: +// Replace the TAG_X with a short label for the feature in lower-case, eg: mp3 +// Replace the FEATURE_1_HEADING with heading the feature section, eg: MicroProfile 3.3 +// Where the updates are grouped as sub-headings under a single heading +// (eg all the features in a MicroProfile release), provide sub-entries in the list; +// eg replace SUB_TAG_1 with mpr, and SUB_FEATURE_1_HEADING with +// Easily determine HTTP headers on outgoing requests (MicroProfile Rest Client 1.4) +// // // // // // // // + +26.0.0.4 で修正されたバグのリストは link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26004+label%3A%22release+bug%22[こちら] です。 + +link:{url-prefix}/blog/?search=release&search!=beta[以前の Open Liberty GA リリースのブログ投稿] もチェックして下さい。 + + +[#run] + +// // // // // // // // +// LINKS +// +// OpenLiberty.io site links: +// link:{url-prefix}/guides/maven-intro.html[Maven] +// +// Off-site links: +//link:https://openapi-generator.tech/docs/installation#jar[Download Instructions] +// +// IMAGES +// +// Place images in ./img/blog/ +// Use the syntax: +// image::/img/blog/log4j-rhocp-diagrams/current-problem.png[Logging problem diagram,width=70%,align="center"] +// // // // // // // // + +== 26.0.0.4 でアプリを開発して実行する + +もし link:{url-prefix}/guides/maven-intro.html[Maven] を使用しているなら、`pom.xml` ファイルに以下を含めます。 + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.12.0 + +---- + +link:{url-prefix}/guides/gradle-intro.html[Gradle] を使用している場合は、`build.gradle` ファイルに以下を含めます。 + +[source,gradle] +---- +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0' + } +} +apply plugin: 'liberty' +---- +// // // // // // // // +// In the preceding section: +// Replace the Maven `3.11.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-maven-plugin +// Replace the Gradle `3.9.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-gradle-plugin +// TODO: Update GHA to automatically do the above. If the maven.org is problematic, then could fallback to using the GH Releases for the plugins +// // // // // // // // + +link:{url-prefix}/docs/latest/container-images.html[コンテナ・イメージ] を使用している場合は、以下のようにします。 + +[source] +---- +FROM icr.io/appcafe/open-liberty +---- + +または、link:{url-prefix}/start/[ダウンロード・ページ] をご覧ください。 + +link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA]、link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code]、または link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE] を使用している場合は、オープンソースの link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty 開発者ツール] を利用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。 + +[link=https://stackoverflow.com/tags/open-liberty] +image::img/blog/blog_btn_stack_ja.svg[Stack Overflow で質問する, align="center"] + +[#file_transfer] +== `FileService` MBean にブロックリストを追加 +Liberty の `restConnector-2.0` 機能によって提供される `FileService` MBean に、`blocklist` 属性が追加されました。この属性は、`server.xml` ファイルの `` 設定要素によって構成されます。この属性のデフォルト値は `${server.output.dir}/resources/security` です。この機能強化により、デフォルトで `${server.output.dir}/resources/security` へのファイル転送アクセスを制限することで、セキュリティ脆弱性 link:https://github.com/advisories/GHSA-c39w-6qgm-5cp7[CVE-2025-14915] が解決されます。 + +`${server.output.dir}/resources/security` への FileTransfer アクセスが必要な場合は、空のブロックリストを設定することで元の動作を復元できます。 + +詳細については、link:https://www.ibm.com/docs/en/was-liberty/nd?topic=manually-file-transfer[ドキュメント] を参照してください。 + +[#ltpa] +== デフォルトの LTPA キーパスワードの削除 + +セキュリティ脆弱性 link:https://www.ibm.com/support/pages/node/7266845[CVE-2025-14917] を解決するために、デフォルトの LTPA キーパスワードが削除されました。 + +以前は、`` 要素で `keysPassword` 属性が定義されていない場合、LTPA キーのデフォルトパスワードが使用されていました。この変更により、`keysPassword` 属性が設定されていない場合、デフォルトパスワードは使用されなくなりました。 + +既存のサーバーの場合、LTPA キーパスワードが `server.xml` ファイルで構成されていない場合は、`server.env` ファイルの `keystore_password` が使用されます。この値は、`ltpa.keys` ファイル内の LTPA キーを再暗号化します。LTPA キー自体は影響を受けません。`keystore_password` は、`server create` コマンドで `--no-password` オプションが使用されない限り、サーバー作成時に `server.env` ファイルに構成されます。 + +`server.xml` ファイルの `` 要素で `keysPassword` が定義されておらず、`server.env` ファイルで `keystore_password` が定義されていない場合、LTPA サービスは失敗します。 +次のエラーメッセージが表示されます。 + +[source,text] +---- +CWWKS4118E: LTPA configuration error. A keysPassword attribute is not configured on the element, the 'ltpa_keys_password' environment variable is not set, and the 'keystore_password' environment variable is not set. +---- + +次の手順を実行して、LTPA キーパスワードが設定されていることを確認します。 + +. `server.xml` ファイルの `` 要素に `keysPassword` 属性が提供されているかどうかを確認します(例: ``)。 +* 提供されている場合、この更新は影響しないため、それ以上のアクションは必要ありません。 +* 提供されていない場合は、追加 *しないで* 次のステップに進みます。 +. `server.env` ファイルに `keystore_password` 環境変数が存在するかどうかを確認します(例: `keystore_password=myKeystorePassword`)。 +* 存在する場合、サーバーの起動時に、以前にデフォルトの `keysPassword` で暗号化されていた LTPA キーを再暗号化するために `keystore_password` が使用されます。 +* 存在しない場合は、次のステップに進みます。 +. `server.env` ファイルに次の環境変数を追加します(ここでは `keystore_password` を使用し、新しいサーバー用の次のセクションで説明されている `ltpa_keys_password` では *ない* ことを確認してください)。 ++ +[source,properties] +---- +keystore_password=your-desired-password +---- ++ +* サーバーの起動時に、以前にデフォルトの `keysPassword` で暗号化されていた LTPA キーを再暗号化するために `keystore_password` が使用されます。 + +新しいサーバーの場合、サーバー作成時に `ltpa_keys_password` 値がランダムに生成されます。これは、`server create` コマンドで `--no-password` オプションが指定されない限り、`server.env` ファイルに保存されます。`` 要素に `keysPassword` 属性が定義されていない場合、ランダムに生成された `ltpa_keys_password` が使用されます。 + +詳細については、link:https://openliberty.io/docs/latest/reference/config/ltpa.html[LTPA] 設定要素を参照してください。 + + +[#jwt] +== JOSE ヘッダーから JWT 署名および復号化アルゴリズムを選択するサポート + +JSON Web Token (JWT) は、さまざまな暗号署名アルゴリズムを使用して署名できます。このリリースでは、JWT Consumer、MicroProfile JWT、OpenID Connect Client、および Social Media Login の各機能が、JOSE ヘッダーから JWT 署名アルゴリズムを選択することをサポートします。このサポートにより、トークンヘッダーに基づいて異なる署名アルゴリズムを使用できるようになります。 + +以前は、`server.xml` ファイルの各設定に対して、1 つの署名アルゴリズム(例: `RS256`)のみを構成できました。受信 JWT が異なるアルゴリズムで署名されている場合、検証は失敗していました。この更新により、JWT ヘッダーの署名アルゴリズムを検証に使用できるようになります。これにより、単一の設定内で異なる署名アルゴリズムを使用する柔軟性が提供されます。 + +=== 使用方法 + +ヘッダーからの署名アルゴリズム選択を有効にするには、`signatureAlgorithm` 属性を `FROM_HEADER` に設定し、オプションで `allowedSignatureAlgorithms` 属性を構成して、許可されるアルゴリズムを指定します。 + +`allowedSignatureAlgorithms` が構成されていない場合、デフォルトリストには、Open Liberty がサポートするすべての署名アルゴリズムが含まれます: `RS256、RS384、RS512、HS256、HS384、HS512、ES256、ES384`、および `ES512`。 + +非対称アルゴリズムとトラストストア設定で `FROM_HEADER` を使用する場合、対応する公開鍵のエイリアスには、対応するアルゴリズムのプレフィックスを付ける必要があります(例: `RS256_keyalias`)。これにより、自動選択が可能になります。エイリアス名の残りの部分は、署名アルゴリズム文字列で始まる限り、何でも構いません。検証中、サーバーは JWT のヘッダーで指定されたアルゴリズムで始まるエイリアスをトラストストア内で検索します。アルゴリズムプレフィックス付きのエイリアスが見つからない場合、クライアントは、構成されている場合、`trustedAlias` 属性(`jwtConsumer` の場合)または `trustAliasName` 属性(`openidConnectClient`、`oidcLogin`、および `mpJwt` の場合)で指定されたエイリアスの使用にフォールバックします。トラストストア内に署名アルゴリズムプレフィックスを持つ複数のエイリアスが存在する場合、Liberty は最初に見つかったものを使用します。 + +サポートされている要素にこれらの設定を適用する方法の例については、次の `server.xml` ファイル設定を参照してください。 + +[source,xml] +---- + + + + + + + +---- + +=== 詳細情報 + +*サーバー設定:* + +* link:https://openliberty.io/docs/latest/reference/config/openidConnectClient.html[openidConnectClient] +* link:https://openliberty.io/docs/latest/reference/config/jwtConsumer.html[jwtConsumer] +* link:https://openliberty.io/docs/latest/reference/config/mpJwt.html[mpJwt] +* link:https://openliberty.io/docs/latest/reference/config/oidcLogin.html[oidcLogin] + +*ドキュメント:* + +* link:https://openliberty.io/docs/latest/reference/feature/openidConnectClient-1.0.html[OpenID Connect Client 1.0] +* link:https://openliberty.io/docs/latest/reference/feature/jwt-1.0.html[JSON Web Token 1.0] +* link:https://openliberty.io/docs/latest/reference/feature/mpJwt-2.1.html[MicroProfile JWT 2.1] +* link:https://openliberty.io/docs/latest/reference/feature/socialLogin-1.0.html[Social Media Login 1.0] + +[#java_26] +=== Java 26 のサポート +Java 26 は、以前のバージョンよりも新しい機能と拡張機能を導入する最近の Java リリースです。これらは確認すると便利です。このリリースは長期サポート (LTS) リリースではありません。 + +link:https://openjdk.org/projects/jdk/26/[Java 26] には 10 の新機能 (JEP) があります。5 つはテスト機能で、5 つは完全に提供されています。 + +*テスト機能:* + +* 524: link:https://openjdk.org/jeps/524[PEM Encodings of Cryptographic Objects (Second Preview)] +* 525: link:https://openjdk.org/jeps/525[Structured Concurrency (Sixth Preview)] +* 526: link:https://openjdk.org/jeps/526[Lazy Constants (Second Preview)] +* 529: link:https://openjdk.org/jeps/529[Vector API (Eleventh Incubator)] +* 530: link:https://openjdk.org/jeps/530[Primitive Types in Patterns, instanceof, and switch (Fourth Preview)] + +*提供された機能:* + +* 500: link:https://openjdk.org/jeps/500[Prepare to Make Final Mean Final] +* 504: link:https://openjdk.org/jeps/504[Remove the Applet API] +* 516: link:https://openjdk.org/jeps/516[Ahead-of-Time Object Caching with Any GC] +* 517: link:https://openjdk.org/jeps/517[HTTP/3 for the HTTP Client API] +* 522: link:https://openjdk.org/jeps/522[G1 GC: Improve Throughput by Reducing Synchronization] + +Java 26 の新しい変更 JEP 500(「Prepare to Make Final Mean Final」)は、深いリフレクションを使用する際に final フィールドの変更を制限することで、final フィールドの真の不変性の強制を開始します。 +Java 26 では、このような変更は引き続き機能しますが、デフォルトで実行時警告がトリガーされ、開発者がより厳格な強制に備えることができます。 +将来のリリースでは、例外をスローする可能性が高く、final が真に変更不可能になります。 + +開発者は、JVM フラグ(例: `--illegal-final-field-mutation=deny`)を使用して、この厳格な動作に早期にオプトインし、問題を早期に検出できます。 +この変更により、プログラムの正確性、セキュリティ、および JVM の最適化が向上します。 + +今すぐこれらの変更を活用して、アプリケーションとマイクロサービスが Java 26 でどのように動作するかを評価する時間を増やしましょう。 + +link:https://developer.ibm.com/languages/java/semeru-runtimes/downloads/[IBM Semeru Runtime 26] または link:https://adoptium.net/temurin/releases/?version=26[Temurin 26] の最新リリースをダウンロードし、Open Liberty link:{url-prefix}/start/#runtime_releases[26.0.0.4] をダウンロードしてインストールすることで、今日から始めましょう。Liberty サーバーの link:{url-prefix}/docs/latest/reference/config/server-configuration-overview.html#server-env[server.env] ファイルを更新し、`JAVA_HOME` を Java 26 インストールディレクトリに設定してテストを開始します。 + +Java 26 の詳細については、Java 26 の link:https://jdk.java.net/26/release-notes[リリースノートページ] および link:https://docs.oracle.com/en/java/javase/26/docs/api/index.html[API Javadoc ページ] を参照してください。 + + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33622 +// Contact/Reviewer: ncpibm +// // // // // // // // +[#displayCustomizedExceptionText] +== Web Container の `displayCustomizedExceptionText` プロパティのドキュメント +このリリースでは、`` 設定の `displayCustomizedExceptionText` 属性のドキュメントが追加されました。これにより、ユーザーは Liberty のデフォルトエラーメッセージ(SRVE0218E: Forbidden や SRVE0232E: An exception occurred など)を、より明確なユーザー定義メッセージでオーバーライドできます。 + +この機能は、シンプルな `server.xml` ファイル設定を通じて有効になり、カスタムメッセージを特定の HTTP ステータスコード(`403` および `500`)にマッピングできます。 + +テストにより、これらのカスタムメッセージがサポートされているすべてのプラットフォームで Liberty のデフォルトを正しく置き換えることが保証され、構成されたテキストがすべてのシナリオで一貫して返されることが確認されます。 + +[source,xml] +---- + +---- + +// DO NOT MODIFY THIS LINE. + +// // // // // // // // +// In the preceding section: +// Replace TAG_X/SUB_TAG_X with the given tag of your secton from the contents list +// Replace SUB_FEATURE_TITLE/FEATURE_X_TITLE with the given title from the contents list +// Replace FEATURE with the feature name for the server.xml file e.g. mpHealth-1.4 +// Replace LINK with the link for extra information given for the feature +// Replace LINK_DESCRIPTION with a readable description of the information +// // // // // // // // + +[#CVEs] +== このリリースでのセキュリティ脆弱性 (CVE) の修正 +[cols="5*"] +|=== +|CVE |CVSS スコア |脆弱性評価 |影響を受けるバージョン |備考 + +|https://www.cve.org/CVERecord?id=CVE-2025-14915[CVE-2025-14915] +|6.5 +|特権昇格 +|17.0.0.3-26.0.0.3 +|`restConnector-2.0` 機能に影響 + +|https://www.cve.org/CVERecord?id=CVE-2025-14917[CVE-2025-14917] +|6.7 +|セキュリティの弱体化 +|17.0.0.3-26.0.0.3 +|`appSecurity-1.0`、`appSecurity-2.0`、`appSecurity-3.0`、`appSecurity-4.0`、および `appSecurity-5.0` の各機能に影響 + +|https://www.cve.org/CVERecord?id=CVE-2026-1561[CVE-2026-1561] +|5.4 +|サーバーサイドリクエストフォージェリ +|17.0.0.3-26.0.0.3 +|`samlWeb-2.0` 機能に影響 + +|https://www.cve.org/CVERecord?id=CVE-2026-29063[CVE-2026-29063] +|8.7 +|プロトタイプ汚染 +|17.0.0.3-26.0.0.3 +|`openapi-3.1`、`mpOpenAPI-1.0`、`mpOpenAPI-1.1`、`mpOpenAPI-2.0`、`mpOpenAPI-3.0`、`mpOpenAPI-3.1`、`mpOpenAPI-4.0`、および `mpOpenAPI-4.1` の各機能に影響 + +|=== +// +// If there are no CVEs fixed in this release, replace the table with: +// "There are no security vulnerability fixes in Open Liberty [26.0.0.4]." +// // // // // // // // +過去のセキュリティ脆弱性修正のリストについては、link:{url-prefix}/docs/latest/security-vulnerabilities.html[セキュリティ脆弱性 (CVE) リスト] を参照してください。 + + +// // // // // // // // +// In the preceding section: +// For this section ask either Michal Broz or Tom Evans or the #openliberty-release-blog channel for Notable bug fixes in this release. +// Present them as a list in the order as provided, linking to the issue and providing a short description of the bug and the resolution. +// If the issue on Github is missing any information, leave a comment in the issue along the lines of: +// "@[issue_owner(s)] please update the description of this `release bug` using the [bug report template](https://github.com/OpenLiberty/open-liberty/issues/new?assignees=&labels=release+bug&template=bug_report.md&title=)" +// Feel free to message the owner(s) directly as well, especially if no action has been taken by them. +// For inspiration about how to write this section look at previous blogs e.g- 20.0.0.10 or 21.0.0.12 (https://openliberty.io/blog/2021/11/26/jakarta-ee-9.1.html#bugs) +// // // // // // // // + + + +== Open Liberty 26.0.0.4 を今すぐ入手 + +<> から入手できます。 diff --git a/posts/ja/2026-05-19-26.0.0.5.adoc b/posts/ja/2026-05-19-26.0.0.5.adoc new file mode 100644 index 0000000000..d76ca54922 --- /dev/null +++ b/posts/ja/2026-05-19-26.0.0.5.adoc @@ -0,0 +1,407 @@ +--- +layout: post +title: "26.0.0.5 での Jakarta EE 11、Spring Boot 4.0、その他" +# Do NOT change the categories section +categories: blog +author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 +author_github: https://github.com/navaneethsnair1 +seo-title: 26.0.0.5 での Jakarta EE 11、Spring Boot 4.0、その他 - OpenLiberty.io +seo-description: このリリースでは、Jakarta EE 11、Spring Boot 4.0 アプリケーション、および Open Liberty での TLS/SSL 暗号処理の更新に対する公式サポートが導入され、Spring Boot デプロイメントサポートの強化と SSL 暗号設定の簡素化が含まれます。 +blog_description: このリリースでは、Jakarta EE 11、Spring Boot 4.0 アプリケーション、および Open Liberty での TLS/SSL 暗号処理の更新に対する公式サポートが導入され、Spring Boot デプロイメントサポートの強化と SSL 暗号設定の簡素化が含まれます。 +open-graph-image: https://openliberty.io/img/twitter_card.jpg +open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: en + path: /blog/2026/05/19/26.0.0.5.html +additional_authors: +- name: Ismath Badsha (校正) + github: https://github.com/IsmathBadsha + image: https://avatars.githubusercontent.com/IsmathBadsha +--- += 26.0.0.5 での Jakarta EE 11、Spring Boot 4.0、その他 +Navaneeth S Nair +:imagesdir: / +:url-prefix: +:url-about: / +//Blank line here is necessary before starting the body of the post. + +// // // // // // // // +// In the preceding section: +// Do not insert any blank lines between any of the lines. +// Do not remove or edit the variables on the lines beneath the author name. +// +// "open-graph-image" is set to OL logo. Whenever possible update this to a more appropriate/specific image (For example if present a image that is being used in the post). However, it +// can be left empty which will set it to the default +// +// "open-graph-image-alt" is a description of what is in the image (not a caption). When changing "open-graph-image" to +// a custom picture, you must provide a custom string for "open-graph-image-alt". +// +// Replace TITLE with the blog post title eg: MicroProfile 3.3 is now available on Open Liberty 20.0.0.4 +// Replace GITHUB_USERNAME with your GitHub username eg: lauracowen +// Replace DESCRIPTION with a short summary (~60 words) of the release (a more succinct version of the first paragraph of the post). +// Replace AUTHOR_NAME with your name as you'd like it to be displayed, eg: Laura Cowen +// +// Example post: 2020-04-09-microprofile-3-3-open-liberty-20004.adoc +// +// If adding image into the post add : +// ------------------------- +// [.img_border_light] +// image::img/blog/FILE_NAME[IMAGE CAPTION ,width=70%,align="center"] +// ------------------------- +// "[.img_border_light]" = This adds a faint grey border around the image to make its edges sharper. Use it around screenshots but not +// around diagrams. Then double check how it looks. +// There is also a "[.img_border_dark]" class which tends to work best with screenshots that are taken on dark +// backgrounds. +// Change "FILE_NAME" to the name of the image file. Also make sure to put the image into the right folder which is: img/blog +// change the "IMAGE CAPTION" to a couple words of what the image is +// // // // // // // // + +このリリースでは、Jakarta EE 11、Spring Boot 4.0 アプリケーション、および Open Liberty での TLS/SSL 暗号処理の更新に対する公式サポートが導入され、Spring Boot デプロイメントサポートの強化と SSL 暗号設定の簡素化が含まれます。 + +// // // // // // // // +// In the preceding section: +// Leave any instances of `tag::xxxx[]` or `end:xxxx[]` as they are. +// +// Replace RELEASE_SUMMARY with a short paragraph that summarises the release. Start with the lead feature but also summarise what else is new in the release. You will agree which will be the lead feature with the reviewers so you can just leave a placeholder here until after the initial review. +// // // // // // // // + +// // // // // // // // +// Replace the following throughout the document: +// Replace RELEASE_VERSION with the version number of Open Liberty, eg: 22.0.0.2 +// Replace RELEASE_VERSION_NO_PERIODS with the version number of Open Liberty wihtout the periods, eg: 22002 +// // // // // // // // + +link:{url-about}[Open Liberty] 26.0.0.5 の内容: + +* <> +* <> +* <> +* <> +* <> + +// // // // // // // // +// In the preceding section: +// Replace the TAG_X with a short label for the feature in lower-case, eg: mp3 +// Replace the FEATURE_1_HEADING with heading the feature section, eg: MicroProfile 3.3 +// Where the updates are grouped as sub-headings under a single heading +// (eg all the features in a MicroProfile release), provide sub-entries in the list; +// eg replace SUB_TAG_1 with mpr, and SUB_FEATURE_1_HEADING with +// Easily determine HTTP headers on outgoing requests (MicroProfile Rest Client 1.4) +// // // // // // // // + +26.0.0.5 で修正されたバグのリストは link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26005+label%3A%22release+bug%22[こちら] です。 + +link:{url-prefix}/blog/?search=release&search!=beta[以前の Open Liberty GA リリースのブログ投稿] もチェックして下さい。 + + +[#run] + +// // // // // // // // +// LINKS +// +// OpenLiberty.io site links: +// link:{url-prefix}/guides/maven-intro.html[Maven] +// +// Off-site links: +//link:https://openapi-generator.tech/docs/installation#jar[Download Instructions] +// +// IMAGES +// +// Place images in ./img/blog/ +// Use the syntax: +// image::/img/blog/log4j-rhocp-diagrams/current-problem.png[Logging problem diagram,width=70%,align="center"] +// // // // // // // // + +== 26.0.0.5 でアプリを開発して実行する + +もし link:{url-prefix}/guides/maven-intro.html[Maven] を使用しているなら、`pom.xml` ファイルに以下を含めます。 + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.12.0 + +---- + +link:{url-prefix}/guides/gradle-intro.html[Gradle] を使用している場合は、`build.gradle` ファイルに以下を含めます。 + +[source,gradle] +---- +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0' + } +} +apply plugin: 'liberty' +---- +// // // // // // // // +// In the preceding section: +// Replace the Maven `3.11.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-maven-plugin +// Replace the Gradle `3.9.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-gradle-plugin +// TODO: Update GHA to automatically do the above. If the maven.org is problematic, then could fallback to using the GH Releases for the plugins +// // // // // // // // + +link:{url-prefix}/docs/latest/container-images.html[コンテナ・イメージ] を使用している場合は、以下のようにします。 + +[source] +---- +FROM icr.io/appcafe/open-liberty +---- + +または、link:{url-prefix}/start/[ダウンロード・ページ] をご覧ください。 + +link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA]、link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code]、または link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE] を使用している場合は、オープンソースの link:{url-prefix}/docs/latest/develop-liberty-tools.html[Liberty 開発者ツール] を利用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。 + +[link=https://stackoverflow.com/tags/open-liberty] +image::img/blog/blog_btn_stack_ja.svg[Stack Overflow で質問する, align="center"] + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/34848 +// Contact/Reviewer: jhanders34 +// // // // // // // // +[#jakarta_ee] +== Jakarta EE 11 Core Profile、Web Profile、および Platform + +Jakarta EE 11 Core Profile、Web Profile、および Platform が Open Liberty で正式にサポートされるようになりました!まず、さまざまなベータ版を通じてフィードバックを提供してくださったすべての方々に感謝いたします。 + +Jakarta EE 11 は重要なマイルストーンです。これは、2017 年の Java EE 8 以来、プラットフォームに新しい仕様を追加する最初の Jakarta リリースであり、したがって、プラットフォームが Eclipse Foundation に引き継がれて以来、新しいコンポーネント仕様を提供する最初のリリースです。既存の Java 仕様への多くの更新の中で、Platform からすべてのオプション仕様と機能も削除されます。Liberty は、Jakarta EE 11 の機能と組み合わせた場合、これらのオプション仕様と機能を引き続きサポートします。 + +Core Profile 仕様は、MicroProfile ベースのアプリケーションなどの軽量クラウドネイティブアプリケーション用のプロファイルを提供するために Jakarta EE 10 で導入されました。このリリースで Jakarta EE 11 サポートが導入されたことにより、MicroProfile 7.0 および 7.1 の機能も Jakarta EE 11 で動作するようになりました。Jakarta EE 10 または Jakarta EE 11 の機能のいずれかを使用して、MicroProfile 7 アプリケーションを実行できます。 + +以下の仕様が Jakarta Platform と Core および Web プロファイルを構成します。 + +=== Jakarta EE Core Profile 11 +[[core_profile]] +[cols="4,2,3",options="header"] +|=== +| 仕様 |更新 |Liberty 機能ドキュメント + +| link:https://jakarta.ee/specifications/annotations/3.0/[Annotations 3.0] |メジャーアップデート |link:{url-prefix}/docs/latest/reference/feature/cdi-4.1.html[cdi-4.1] +| link:https://jakarta.ee/specifications/restful-ws/4.0/[RESTful Web Services 4.0] |メジャーアップデート | link:{url-prefix}/docs/latest/reference/feature/restfulWS-4.0.html[restfulWS-4.0]、link:{url-prefix}/docs/latest/reference/feature/restfulWSClient-4.0.html[restfulWSClient-4.0] +| link:https://jakarta.ee/specifications/cdi/4.1/[Context and Dependency Injection 4.1 Lite] | マイナーアップデート | link:{url-prefix}/docs/latest/reference/feature/cdi-4.1.html[cdi-4.1] +| link:https://jakarta.ee/specifications/interceptors/2.2/[Interceptors 2.2] |マイナーアップデート |link:{url-prefix}/docs/latest/reference/feature/cdi-4.1.html[cdi-4.1] +| link:https://jakarta.ee/specifications/dependency-injection/2.0/[Dependency Injection 2.0] |変更なし |link:{url-prefix}/docs/latest/reference/feature/cdi-4.1.html[cdi-4.1] +| link:https://jakarta.ee/specifications/jsonb/3.0/[JSON Binding 3.0] | 変更なし |link:{url-prefix}/docs/latest/reference/feature/jsonb-3.0.html[jsonb-3.0] +| link:https://jakarta.ee/specifications/jsonp/2.1/[JSON Processing 2.1] |変更なし | link:{url-prefix}/docs/latest/reference/feature/jsonp-2.1.html[jsonp-2.1] +|=== + +=== Jakarta EE Web Profile 11 +[[web_profile]] +[cols="4,2,3",options="header"] +|=== +| 仕様 |更新 |Liberty 機能ドキュメント + +| link:https://jakarta.ee/specifications/coreprofile/11/[Jakarta EE Core Profile 11] |メジャーアップデート |前の <> を参照 +| link:https://jakarta.ee/specifications/data/1.0/[Data 1.0] |*新規* | link:{url-prefix}/docs/latest/reference/feature/data-1.0.html[data-1.0] +| link:https://jakarta.ee/specifications/expression-language/6.0/[Expression Language 6.0] |メジャーアップデート |link:{url-prefix}/docs/latest/reference/feature/expressionLanguage-6.0.html[expressionLanguage-6.0] +| link:https://jakarta.ee/specifications/pages/4.0/[Pages 4.0] |メジャーアップデート | link:{url-prefix}/docs/latest/reference/feature/pages-4.0.html[pages-4.0] +| link:https://jakarta.ee/specifications/security/4.0/[Security 4.0] |メジャーアップデート |link:{url-prefix}/docs/latest/reference/feature/appSecurity-6.0.html[appSecurity-6.0] +| link:https://jakarta.ee/specifications/authentication/3.1/[Authentication 3.1] |マイナーアップデート | link:{url-prefix}/docs/latest/reference/feature/appAuthentication-3.1.html[appAuthentication-3.1] +| link:https://jakarta.ee/specifications/concurrency/3.1/[Concurrency 3.1] |マイナーアップデート | link:{url-prefix}/docs/latest/reference/feature/concurrent-3.1.html[concurrent-3.1] +| link:https://jakarta.ee/specifications/cdi/4.1/[Context and Dependency Injection 4.1] |マイナーアップデート |link:{url-prefix}/docs/latest/reference/feature/cdi-4.1.html[cdi-4.1] +| link:https://jakarta.ee/specifications/faces/4.1/[Faces 4.1] |マイナーアップデート | link:{url-prefix}/docs/latest/reference/feature/faces-4.1.html[faces-4.1] +| link:https://jakarta.ee/specifications/persistence/3.2/[Persistence 3.2] |マイナーアップデート | link:{url-prefix}/docs/latest/reference/feature/persistence-3.2.html[persistence-3.2] +| link:https://jakarta.ee/specifications/servlet/6.1/[Servlet 6.1] |マイナーアップデート |link:{url-prefix}/docs/latest/reference/feature/servlet-6.1.html[servlet-6.1] +| link:https://jakarta.ee/specifications/bean-validation/3.1/[Validation 3.1] |マイナーアップデート | link:{url-prefix}/docs/latest/reference/feature/validation-3.1.html[validation-3.1] +| link:https://jakarta.ee/specifications/websocket/2.2/[WebSocket 2.2] |マイナーアップデート |link:{url-prefix}/docs/latest/reference/feature/websocket-2.2.html[websocket-2.2] +| link:https://jakarta.ee/specifications/debugging/2.0/[Debugging Support for Other Languages 2.0] |変更なし |該当なし +| link:https://jakarta.ee/specifications/enterprise-beans/4.0/[Enterprise Beans 4.0 Lite] |変更なし |link:{url-prefix}/docs/latest/reference/feature/enterpriseBeansLite-4.0.html[enterpriseBeansLite-4.0] +| link:https://jakarta.ee/specifications/tags/3.0/[Standard Tag Library 3.0] | 変更なし | link:{url-prefix}/docs/latest/reference/feature/pages-4.0.html[pages-4.0] +| link:https://jakarta.ee/specifications/transactions/2.0/[Transactions 2.0] |変更なし |該当なし (link:{url-prefix}/docs/latest/reference/javadoc/liberty-jakartaee11-javadoc.html?package=allclasses-frame.html&class=jakarta/transaction/package-summary.html[Javadoc] を参照) +|=== + +=== Jakarta EE Platform 11 +[[jakarta_ee_platform]] +[cols="4,2,3",options="header"] +|=== +| 仕様 |更新 |Liberty 機能ドキュメント + +| link:https://jakarta.ee/specifications/webprofile/11/[Jakarta EE Web Profile 11] |メジャーアップデート |前の <> を参照 +| link:https://jakarta.ee/specifications/authorization/3.0/[Authorization 3.0] |メジャーアップデート | link:{url-prefix}/docs/latest/reference/feature/appAuthorization-3.0.html[appAuthorization-3.0] +| link:https://jakarta.ee/specifications/activation/2.1/[Activation 2.1] |変更なし |link:{url-prefix}/docs/latest/reference/feature/mail-2.1.html[mail-2.1] +| link:https://jakarta.ee/specifications/batch/2.1/[Batch 2.1] |変更なし | link:{url-prefix}/docs/latest/reference/feature/batch-2.1.html[batch-2.1] +| link:https://jakarta.ee/specifications/connectors/2.1/[Connectors 2.1] |変更なし | link:{url-prefix}/docs/latest/reference/feature/connectors-2.1.html[connectors-2.1] +| link:https://jakarta.ee/specifications/enterprise-beans/4.0/[Enterprise Beans 4.0] |変更なし |link:{url-prefix}/docs/latest/reference/feature/enterpriseBeans-4.0.html[enterpriseBeans-4.0] +| link:https://jakarta.ee/specifications/mail/2.1/[Mail 2.1] |変更なし |link:{url-prefix}/docs/latest/reference/feature/mail-2.1.html[mail-2.1] +| link:https://jakarta.ee/specifications/messaging/3.1/[Messaging 3.1] |変更なし | link:{url-prefix}/docs/latest/reference/feature/messaging-3.1.html[messaging-3.1] +|=== + +注: Enterprise Beans 4.0 は変更されていませんが、enterpriseBeans-4.0 の機能が他の Jakarta EE 11 の機能と共に設定されている場合、オプションの EJB 2.x 機能は有効になりません。EJB 2.x API を使用したいユーザーは、enterpriseBeansHome-4.0 の機能も追加する必要があります。 + +Liberty は、Jakarta EE 11 Web Profile (link:{url-prefix}/docs/latest/reference/feature/webProfile-11.0.html[webProfile-11.0]) および Jakarta EE 11 Platform (link:{url-prefix}/docs/latest/reference/feature/jakartaee-11.0.html[jakartaee-11.0]) に含まれるすべてのコンポーネント仕様を実行するための便利な機能を提供します。これらの便利な機能により、それぞれの仕様に含まれるすべての API を使用してアプリケーションを迅速に開発できます。アプリケーションクライアントで Jakarta EE 11 の機能を使用するには、link:{url-prefix}/docs/latest/reference/feature/jakartaeeClient-11.0.html[jakartaeeClient-11.0] Liberty 機能を使用します。 + +Jakarta EE Platform 11 の機能を有効にするには、`server.xml` ファイルに `jakartaee-11.0` feature を追加します。 + +[source,xml] +---- + + jakartaee-11.0 + +---- + +または、Jakarta EE Web Profile 11 の機能を有効にするには、`server.xml` ファイルに `webProfile-11.0` feature を追加します。 + +[source,xml] +---- + + webProfile-11.0 + +---- + +Core Profile には便利な機能は存在しませんが、`server.xml` ファイルに以下の feature を追加することで、同等の機能を有効にできます。 + +[source,xml] +---- + + jsonb-3.0 + jsonp-2.1 + cdi-4.1 + restfulWS-4.0 + +---- + +Application Client Container で Jakarta EE 11 の機能を実行するには、`client.xml` ファイルに以下のエントリを追加します。 + +[source,xml] +---- + + jakartaeeClient-11.0 + +---- + +*詳細については、以下を参照してください*: + +* link:{url-prefix}/docs/latest/reference/diff/jakarta-ee11-diff.html[Jakarta EE 11 と 10 の違い] +* link:https://jakarta.ee/specifications/platform/11/[Jakarta EE Platform 11]、link:https://jakarta.ee/specifications/webprofile/11/[Jakarta EE Web Profile 11]、および link:https://jakarta.ee/specifications/coreprofile/11/[Jakarta EE Core Profile 11] 仕様 +* link:{url-prefix}/docs/latest/reference/javadoc/liberty-jakartaee11-javadoc.html[Jakarta EE 11 Javadoc] + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33154 +// Contact/Reviewer: anjumfatima90 +// // // // // // // // +[#springboot] +== Spring Boot 4.0 +Open Liberty は現在、Spring Boot 1.5.x、2.x、および 3.x アプリケーションの実行をサポートしています。新しい `springBoot-4.0` 機能の導入により、ユーザーは Spring Boot 4.x アプリケーションをデプロイできるようになりました。Liberty は一貫して `WAR` ファイルとしてパッケージ化された Spring Boot アプリケーションをサポートしてきましたが、この機能強化により、Spring Boot 4.x アプリケーションの `JAR` および `WAR` 形式の両方へのサポートが拡張されます。 + +`springBoot-4.0` 機能は、Open Liberty で Spring Boot 4.x アプリケーションを実行するための完全なサポートと、コンテナ化されたアプリケーションを構築する際にアプリケーションを thin 化する機能を提供します。 + +この機能を使用するには、ユーザーは Jakarta EE 11 の機能を有効にして Java 17 以降を実行している必要があります。アプリケーションがサーブレットを使用する場合は、`servlet-6.1` を使用するように設定する必要があります。サーバーを設定するには、`server.xml` ファイルに以下の feature を含めます。 + +[source, xml] +---- + + springBoot-4.0 + servlet-6.1 + +---- + +Spring Boot アプリケーションをデプロイするための `server.xml` 設定は、以前の Liberty Spring Boot バージョンで使用されているのと同じアプローチに従います。 + +[source, xml] +---- + +---- + +以前のバージョンと同様に、Spring Boot アプリケーション JAR は `/dropins/spring` フォルダに配置することでデプロイできます。このデプロイ方法を使用する場合、`server.xml` ファイルの `springBootApplication` 設定は省略できます。 + +// DO NOT MODIFY THIS LINE. + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/34374 +// Contact/Reviewer: rangaran +// // // // // // // // +[#ssl] +== TLS/SSL 暗号サポートの更新 +Liberty は、SSL 設定に JDK からの有効な暗号リストを使用するようになりました。SSL 設定の `securityLevel` 属性は使用されなくなりました。さらに、SSL 設定の `enabledCiphers` 属性が更新され、より柔軟な方法で SSL 暗号をカスタマイズできるようになりました。 + +Liberty の `securityLevel` ベースの暗号カテゴリは、もはや意味のある価値を提供しません。`MEDIUM` および `LOW` カテゴリには、残りの暗号が含まれていません。 + +`enabledCiphers` 属性には、相互に排他的な 2 つのモードがあります: (1) スペースで区切られた暗号のカスタムリストを指定する、または (2) 有効な JDK 暗号リストから暗号スイートを追加 (+) または削除 (-) するフィルタ基準を指定する。`enabledCiphers` に設定された値に静的エントリと +/- エントリの両方が含まれている場合、エラーがログに記録され、サーバーは有効な JDK 暗号リストを返すことで `enabledCiphers` 値を無視します。 + +*既存の使用法:* ユーザーが `securityLevel` を `HIGH` に設定 + +[source,xml] +---- + +---- + +`securityLevel` 属性は無視されるようになったため、前の `` 設定は、`securityLevel` 属性が設定されていない次の設定と同等に扱われます。 + +[source,xml] +---- + +---- + +*既存の使用法:* ユーザーが有効な JDK リストからすべての暗号を指定し、1 つ (TLS_RSA_WITH_AES_128_GCM_SHA256) を除くすべての TLS_RSA 暗号を除外 + +[source,xml] +---- + +---- + +*新しい構文の例:* ワイルドカードを使用して同じロジックを実現 +[source,xml] +---- + +---- + +Transport Security の詳細については、link:{url-prefix}/docs/modules/reference/23.0.0.6/com.ibm.websphere.appserver.api.ssl_1.5-javadoc/com/ibm/websphere/ssl/Constants.html[SSL Constants Javadoc]、link:{url-prefix}/docs/modules/reference/23.0.0.6/com.ibm.websphere.appserver.api.ssl_1.5-javadoc/com/ibm/websphere/ssl/JSSEProvider.html[JSSEProvider Javadoc]、および link:{url-prefix}/docs/latest/reference/config/ssl.html[SSL 設定リファレンス] を参照してください。 + +// DO NOT MODIFY THIS LINE. + +[#CVEs] +== このリリースでのセキュリティ脆弱性 (CVE) 修正 +[cols="5*"] +|=== +|CVE |CVSS スコア |脆弱性評価 |影響を受けるバージョン |備考 + +|https://www.cve.org/CVERecord?id=CVE-2026-3621[CVE-2026-3621] +|7.5 +|ID なりすまし +|17.0.0.3-26.0.0.4 +| + +|=== +// // // // // // // // +// In the preceding section: +// If there were any CVEs addressed in this release, fill out the table. For the information, reference https://github.com/OpenLiberty/docs/blob/draft/modules/ROOT/pages/security-vulnerabilities.adoc. If it has not been updated for this release, reach out to Kristen Clarke or Michal Broz. +// Note: When linking to features, use the +// `link:{url-prefix}/docs/latest/reference/feature/someFeature-1.0.html[Some Feature 1.0]` format and +// NOT what security-vulnerabilities.adoc does (feature:someFeature-1.0[]) +// +// If there are no CVEs fixed in this release, replace the table with: +// "There are no security vulnerability fixes in Open Liberty [RELEASE_VERSION]." +// // // // // // // // +過去のセキュリティ脆弱性修正のリストについては、link:{url-prefix}/docs/latest/security-vulnerabilities.html[セキュリティ脆弱性 (CVE) リスト] を参照してください。 + + +[#bugs] +== このリリースで修正された注目すべきバグ + + +バグ修正に時間を費やしました。以下のセクションでは、このリリースで解決された問題の一部について説明します。興味がある場合は、link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26005+label%3A%22release+bug%22[26.0.0.5 で修正されたバグの完全なリスト] をご覧ください。 + +* link:https://github.com/OpenLiberty/open-liberty/issues/34716[Security Service を使用する機能が有効で、appSecurity が無効の場合の Subject リーク (CVE-2026-3621)] +* link:https://github.com/OpenLiberty/open-liberty/issues/34664[マルチモジュール JSP アプリケーションで java.lang.ClassCastException: org.apache.jasper.runtime.JspApplicationContextImpl が発生] +* link:https://github.com/OpenLiberty/open-liberty/pull/34657[キャッシュされた JspApplicationContext とのクラスローディング競合を修正] +* link:https://github.com/OpenLiberty/open-liberty/issues/34642[Authorization Code Grant が使用されていない場合でも、oauthProvider によって PKCE が強制される] + +// // // // // // // // +// In the preceding section: +// For this section ask either Michal Broz or Tom Evans or the #openliberty-release-blog channel for Notable bug fixes in this release. +// Present them as a list in the order as provided, linking to the issue and providing a short description of the bug and the resolution. +// If the issue on Github is missing any information, leave a comment in the issue along the lines of: +// "@[issue_owner(s)] please update the description of this `release bug` using the [bug report template](https://github.com/OpenLiberty/open-liberty/issues/new?assignees=&labels=release+bug&template=bug_report.md&title=)" +// Feel free to message the owner(s) directly as well, especially if no action has been taken by them. +// For inspiration about how to write this section look at previous blogs e.g- 20.0.0.10 or 21.0.0.12 (https://openliberty.io/blog/2021/11/26/jakarta-ee-9.1.html#bugs) +// // // // // // // // + + +== Open Liberty 26.0.0.5 を今すぐ入手 + +<> から入手できます。 diff --git a/posts/zh-Hans/2026-04-21-26.0.0.4.adoc b/posts/zh-Hans/2026-04-21-26.0.0.4.adoc new file mode 100644 index 0000000000..0151786a95 --- /dev/null +++ b/posts/zh-Hans/2026-04-21-26.0.0.4.adoc @@ -0,0 +1,344 @@ +--- +layout: post +title: "26.0.0.4 中增强的 JWT 验证、Java 26 支持等功能" +# Do NOT change the categories section +categories: blog +author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 +author_github: https://github.com/navaneethsnair1 +seo-title: 26.0.0.4 中增强的 JWT 验证、Java 26 支持等功能 - OpenLiberty.io +seo-description: 此版本引入了从 JOSE 标头选择 JWT 签名算法的支持,并添加了 Java 26 支持。它还删除了默认的 LTPA 密钥密码以增强安全性,并包括文件传输限制和安全漏洞修复。 +blog_description: 此版本引入了从 JOSE 标头选择 JWT 签名算法的支持,并添加了 Java 26 支持。它还删除了默认的 LTPA 密钥密码以增强安全性,并包括文件传输限制和安全漏洞修复。 +open-graph-image: https://openliberty.io/img/twitter_card.jpg +open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: en + path: /blog/2026/04/21/26.0.0.4.html +additional_authors: +- name: Ismath Badsha (校正) + github: https://github.com/IsmathBadsha + image: https://avatars.githubusercontent.com/IsmathBadsha +--- += 26.0.0.4 中增强的 JWT 验证、Java 26 支持等功能 +Navaneeth S Nair +:imagesdir: / +:url-prefix: +:url-about: / +//Blank line here is necessary before starting the body of the post. + +此版本引入了从 JOSE 标头选择 JWT 签名算法的支持,并添加了 Java 26 支持。它还删除了默认的 LTPA 密钥密码以增强安全性,并包括文件传输限制和安全漏洞修复。 + +在 link:{url-about}[Open Liberty] 26.0.0.4 中: + +* <> +* <> +* <> +* <> +* <> +* <> + +// // // // // // // // +// In the preceding section: +// Replace the TAG_X with a short label for the feature in lower-case, eg: mp3 +// Replace the FEATURE_1_HEADING with heading the feature section, eg: MicroProfile 3.3 +// Where the updates are grouped as sub-headings under a single heading +// (eg all the features in a MicroProfile release), provide sub-entries in the list; +// eg replace SUB_TAG_1 with mpr, and SUB_FEATURE_1_HEADING with +// Easily determine HTTP headers on outgoing requests (MicroProfile Rest Client 1.4) +// // // // // // // // + +查看 link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26004+label%3A%22release+bug%22[26.0.0.4] 中已修复的错误列表。 + +查看 link:{url-prefix}/blog/?search=release&search!=beta[以前的 Open Liberty GA 版本博客文章]。 + + +[#run] + +// // // // // // // // +// LINKS +// +// OpenLiberty.io site links: +// link:{url-prefix}/guides/maven-intro.html[Maven] +// +// Off-site links: +//link:https://openapi-generator.tech/docs/installation#jar[Download Instructions] +// +// IMAGES +// +// Place images in ./img/blog/ +// Use the syntax: +// image::/img/blog/log4j-rhocp-diagrams/current-problem.png[Logging problem diagram,width=70%,align="center"] +// // // // // // // // + +== 使用 26.0.0.4 开发和运行应用程序 + +如果您使用 link:{url-prefix}/guides/maven-intro.html[Maven],请在 `pom.xml` 文件中包含以下内容: + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.12.0 + +---- + +或者对于 link:{url-prefix}/guides/gradle-intro.html[Gradle],请在 `build.gradle` 文件中包含以下内容: + +[source,gradle] +---- +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0' + } +} +apply plugin: 'liberty' +---- +// // // // // // // // +// In the preceding section: +// Replace the Maven `3.11.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-maven-plugin +// Replace the Gradle `3.9.5` with the latest version of the plugin: https://search.maven.org/artifact/io.openliberty.tools/liberty-gradle-plugin +// TODO: Update GHA to automatically do the above. If the maven.org is problematic, then could fallback to using the GH Releases for the plugins +// // // // // // // // + +或者如果您使用 link:{url-prefix}/docs/latest/container-images.html[容器镜像]: + +[source] +---- +FROM icr.io/appcafe/open-liberty +---- + +或者查看我们的 link:{url-prefix}/start/[下载页面]。 + +如果您使用 link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA]、link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code] 或 link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE],您还可以利用我们的开源 link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty 开发者工具],在 IDE 中实现有效的开发、测试、调试和应用程序管理。 + +[link=https://stackoverflow.com/tags/open-liberty] +image::img/blog/blog_btn_stack.svg[在 Stack Overflow 上提问, align="center"] + +[#file_transfer] +== 为 `FileService` MBean 添加了阻止列表 +Liberty 中 `restConnector-2.0` 功能提供的 `FileService` MBean 现在包含一个 `blocklist` 属性。此属性由 `server.xml` 文件中的 `` 配置元素配置。此属性的默认值为 `${server.output.dir}/resources/security`。此增强功能通过默认限制对 `${server.output.dir}/resources/security` 的文件传输访问来解决安全漏洞 link:https://github.com/advisories/GHSA-c39w-6qgm-5cp7[CVE-2025-14915]。 + +如果需要对 `${server.output.dir}/resources/security` 进行 FileTransfer 访问,可以通过设置空的阻止列表来恢复原始行为。 + +有关更多信息,请参阅 link:https://www.ibm.com/docs/en/was-liberty/nd?topic=manually-file-transfer[文档]。 + +[#ltpa] +== 删除默认 LTPA 密钥密码 + +删除默认 LTPA 密钥密码以解决安全漏洞 link:https://www.ibm.com/support/pages/node/7266845[CVE-2025-14917]。 + +以前,当 `` 元素中未定义 `keysPassword` 属性时,会使用 LTPA 密钥的默认密码。通过此更改,当未设置 `keysPassword` 属性时,不再使用默认密码。 + +对于现有服务器,如果 `server.xml` 文件中未配置 LTPA 密钥密码,则使用 `server.env` 文件中的 `keystore_password`。此值会重新加密 `ltpa.keys` 文件中的 LTPA 密钥。LTPA 密钥本身不受影响。除非在 `server create` 命令中使用 `--no-password` 选项,否则在服务器创建期间会在 `server.env` 文件中配置 `keystore_password`。 + +如果 `server.xml` 文件中的 `` 元素中未定义 `keysPassword`,并且 `server.env` 文件中未定义 `keystore_password`,则 LTPA 服务将失败。 +将显示以下错误消息: + +[source,text] +---- +CWWKS4118E: LTPA configuration error. A keysPassword attribute is not configured on the element, the 'ltpa_keys_password' environment variable is not set, and the 'keystore_password' environment variable is not set. +---- + +通过执行以下步骤确认已设置 LTPA 密钥密码: + +. 检查 `server.xml` 文件中的 `` 元素是否提供了 `keysPassword` 属性(例如,``)。 +* 如果已提供,则此更新不会影响您,无需进一步操作。 +* 如果未提供,请*不要*添加它,并继续下一步。 +. 检查 `server.env` 文件中是否存在 `keystore_password` 环境变量(例如,`keystore_password=myKeystorePassword`)。 +* 如果存在,则在服务器启动时,`keystore_password` 将用于重新加密以前使用默认 `keysPassword` 加密的 LTPA 密钥。 +* 如果不存在,请继续下一步。 +. 将以下环境变量添加到 `server.env` 文件(确保在此处使用 `keystore_password`,而*不是*下一节中为新服务器描述的 `ltpa_keys_password`): ++ +[source,properties] +---- +keystore_password=your-desired-password +---- ++ +* 在服务器启动时,`keystore_password` 将用于重新加密以前使用默认 `keysPassword` 加密的 LTPA 密钥。 + +对于新服务器,在服务器创建期间会随机生成 `ltpa_keys_password` 值。除非在 `server create` 命令中指定 `--no-password` 选项,否则它会存储在 `server.env` 文件中。如果未为 `` 元素定义 `keysPassword` 属性,则使用随机生成的 `ltpa_keys_password`。 + +有关更多信息,请参阅 link:https://openliberty.io/docs/latest/reference/config/ltpa.html[LTPA] 配置元素。 + + +[#jwt] +== 支持从 JOSE 标头选择 JWT 签名和解密算法 + +JSON Web Token (JWT) 可以使用各种加密签名算法进行签名。在此版本中,JWT Consumer、MicroProfile JWT、OpenID Connect Client 和 Social Media Login 功能支持从 JOSE 标头选择 JWT 签名算法。此支持允许根据令牌标头使用不同的签名算法。 + +以前,只能为 `server.xml` 文件中的每个配置配置一个签名算法(例如,`RS256`)。如果传入的 JWT 使用不同的算法签名,验证将失败。此更新允许使用 JWT 标头中的签名算法进行验证。它提供了在单个配置中使用不同签名算法的灵活性。 + +=== 使用方法 + +要启用从标头选择签名算法,请将 `signatureAlgorithm` 属性设置为 `FROM_HEADER`,并可选择配置 `allowedSignatureAlgorithms` 属性以指定允许哪些算法。 + +如果未配置 `allowedSignatureAlgorithms`,则默认列表包含所有 Open Liberty 支持的签名算法:`RS256、RS384、RS512、HS256、HS384、HS512、ES256、ES384` 和 `ES512`。 + +当使用 `FROM_HEADER` 与非对称算法和信任库设置时,相应公钥的别名必须以其相应的算法为前缀(例如,`RS256_keyalias`)以进行自动选择。别名名称的其余部分无关紧要,只要它以签名算法字符串开头即可。在验证期间,服务器会在信任库中搜索以 JWT 标头中指定的算法开头的别名。如果未找到带有算法前缀的别名,客户端将回退到使用 `trustedAlias` 属性(对于 `jwtConsumer`)或 `trustAliasName` 属性(对于 `openidConnectClient`、`oidcLogin` 和 `mpJwt`)指定的别名(如果已配置)。如果信任库中存在多个带有签名算法前缀的别名,Liberty 将使用找到的第一个。 + +请参阅以下 `server.xml` 文件配置示例,了解如何将这些设置应用于支持的元素: + +[source,xml] +---- + + + + + + + +---- + +=== 了解更多 + +*服务器配置:* + +* link:https://openliberty.io/docs/latest/reference/config/openidConnectClient.html[openidConnectClient] +* link:https://openliberty.io/docs/latest/reference/config/jwtConsumer.html[jwtConsumer] +* link:https://openliberty.io/docs/latest/reference/config/mpJwt.html[mpJwt] +* link:https://openliberty.io/docs/latest/reference/config/oidcLogin.html[oidcLogin] + +*文档:* + +* link:https://openliberty.io/docs/latest/reference/feature/openidConnectClient-1.0.html[OpenID Connect Client 1.0] +* link:https://openliberty.io/docs/latest/reference/feature/jwt-1.0.html[JSON Web Token 1.0] +* link:https://openliberty.io/docs/latest/reference/feature/mpJwt-2.1.html[MicroProfile JWT 2.1] +* link:https://openliberty.io/docs/latest/reference/feature/socialLogin-1.0.html[Social Media Login 1.0] + +[#java_26] +=== 支持 Java 26 +Java 26 是最近的 Java 版本,它引入了比早期版本更多的新功能和增强功能,值得查看。此版本不是长期支持 (LTS) 版本。 + +link:https://openjdk.org/projects/jdk/26/[Java 26] 中有 10 个新功能 (JEP)。五个是测试功能,五个是完全交付的。 + +*测试功能:* + +* 524: link:https://openjdk.org/jeps/524[加密对象的 PEM 编码(第二次预览)] +* 525: link:https://openjdk.org/jeps/525[结构化并发(第六次预览)] +* 526: link:https://openjdk.org/jeps/526[惰性常量(第二次预览)] +* 529: link:https://openjdk.org/jeps/529[Vector API(第十一次孵化)] +* 530: link:https://openjdk.org/jeps/530[模式、instanceof 和 switch 中的原始类型(第四次预览)] + +*交付的功能:* + +* 500: link:https://openjdk.org/jeps/500[准备使 Final 真正意味着 Final] +* 504: link:https://openjdk.org/jeps/504[删除 Applet API] +* 516: link:https://openjdk.org/jeps/516[使用任何 GC 的提前对象缓存] +* 517: link:https://openjdk.org/jeps/517[HTTP 客户端 API 的 HTTP/3] +* 522: link:https://openjdk.org/jeps/522[G1 GC:通过减少同步提高吞吐量] + +Java 26 中的新变化 JEP 500("准备使 Final 真正意味着 Final")开始通过限制使用深度反射时对 final 字段的修改来强制执行真正的不可变性。 +在 Java 26 中,此类修改仍然有效,但默认情况下会触发运行时警告,为开发人员准备更严格的执行。 +未来的版本可能会抛出异常,使 final 真正不可变。 + +开发人员可以通过使用 JVM 标志(例如,`--illegal-final-field-mutation=deny`)提前选择加入此更严格的行为,以更早地检测问题。 +此更改提高了程序的正确性、安全性和 JVM 优化。 + +立即利用这些更改,以获得更多时间来评估您的应用程序 +和微服务在 Java 26 上的行为。 + +立即开始,下载最新版本的 link:https://developer.ibm.com/languages/java/semeru-runtimes/downloads/[IBM Semeru Runtime 26] 或 link:https://adoptium.net/temurin/releases/?version=26[Temurin 26],然后下载并安装 Open Liberty link:{url-prefix}/start/#runtime_releases[26.0.0.4]。使用设置为 Java 26 安装目录的 `JAVA_HOME` 更新 Liberty 服务器的 link:{url-prefix}/docs/latest/reference/config/server-configuration-overview.html#server-env[server.env] 文件并开始测试。 + +有关 Java 26 的更多信息,请参阅 Java 26 link:https://jdk.java.net/26/release-notes[发行说明页面]和 link:https://docs.oracle.com/en/java/javase/26/docs/api/index.html[API Javadoc 页面]。 + + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33622 +// Contact/Reviewer: ncpibm +// // // // // // // // +[#displayCustomizedExceptionText] +== Web 容器中 `displayCustomizedExceptionText` 属性的文档 +此版本为 `` 配置中的 `displayCustomizedExceptionText` 属性添加了文档,该属性允许用户使用更清晰的用户定义消息覆盖 Liberty 的默认错误消息(例如 SRVE0218E: Forbidden 和 SRVE0232E: An exception occurred)。 + +该功能通过简单的 `server.xml` 文件配置启用,其中自定义消息可以映射到特定的 HTTP 状态代码(`403` 和 `500`)。 + +测试确保这些自定义消息在所有支持的平台上正确替换 Liberty 的默认值,确认在所有场景中一致返回配置的文本。 + +[source,xml] +---- + +---- + +// DO NOT MODIFY THIS LINE. + +// // // // // // // // +// In the preceding section: +// Replace TAG_X/SUB_TAG_X with the given tag of your secton from the contents list +// Replace SUB_FEATURE_TITLE/FEATURE_X_TITLE with the given title from the contents list +// Replace FEATURE with the feature name for the server.xml file e.g. mpHealth-1.4 +// Replace LINK with the link for extra information given for the feature +// Replace LINK_DESCRIPTION with a readable description of the information +// // // // // // // // + +[#CVEs] +== 此版本中的安全漏洞 (CVE) 修复 +[cols="5*"] +|=== +|CVE |CVSS 评分 |漏洞评估 |受影响的版本 |备注 + +|https://www.cve.org/CVERecord?id=CVE-2025-14915[CVE-2025-14915] +|6.5 +|权限提升 +|17.0.0.3-26.0.0.3 +|影响 `restConnector-2.0` 功能 + +|https://www.cve.org/CVERecord?id=CVE-2025-14917[CVE-2025-14917] +|6.7 +|较弱的安全性 +|17.0.0.3-26.0.0.3 +|影响 `appSecurity-1.0`、`appSecurity-2.0`、`appSecurity-3.0`、`appSecurity-4.0` 和 `appSecurity-5.0` 功能 + +|https://www.cve.org/CVERecord?id=CVE-2026-1561[CVE-2026-1561] +|5.4 +|服务器端请求伪造 +|17.0.0.3-26.0.0.3 +|影响 `samlWeb-2.0` 功能 + +|https://www.cve.org/CVERecord?id=CVE-2026-29063[CVE-2026-29063] +|8.7 +|原型污染 +|17.0.0.3-26.0.0.3 +|影响 `openapi-3.1`、`mpOpenAPI-1.0`、`mpOpenAPI-1.1`、`mpOpenAPI-2.0`、`mpOpenAPI-3.0`、`mpOpenAPI-3.1`、`mpOpenAPI-4.0` 和 `mpOpenAPI-4.1` 功能 + +|=== +// +// If there are no CVEs fixed in this release, replace the table with: +// "There are no security vulnerability fixes in Open Liberty [26.0.0.4]." +// // // // // // // // +有关过去的安全漏洞修复列表,请参阅 link:{url-prefix}/docs/latest/security-vulnerabilities.html[安全漏洞 (CVE) 列表]。 + + +// // // // // // // // +// In the preceding section: +// For this section ask either Michal Broz or Tom Evans or the #openliberty-release-blog channel for Notable bug fixes in this release. +// Present them as a list in the order as provided, linking to the issue and providing a short description of the bug and the resolution. +// If the issue on Github is missing any information, leave a comment in the issue along the lines of: +// "@[issue_owner(s)] please update the description of this `release bug` using the [bug report template](https://github.com/OpenLiberty/open-liberty/issues/new?assignees=&labels=release+bug&template=bug_report.md&title=)" +// Feel free to message the owner(s) directly as well, especially if no action has been taken by them. +// For inspiration about how to write this section look at previous blogs e.g- 20.0.0.10 or 21.0.0.12 (https://openliberty.io/blog/2021/11/26/jakarta-ee-9.1.html#bugs) +// // // // // // // // + + + +== 立即获取 Open Liberty 26.0.0.4 + +可通过 <> 获取。