<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja"><generator uri="https://jekyllrb.com/" version="3.8.6">Jekyll</generator><link href="https://openliberty.io/ja/feed.xml" rel="self" type="application/atom+xml" /><link href="https://openliberty.io/ja/" rel="alternate" type="text/html" hreflang="ja" /><updated>2026-06-03T08:57:39+00:00</updated><id>https://openliberty.io/ja/feed.xml</id><title type="html">Open Liberty</title><subtitle>Open Liberty is the most flexible server runtime available to Earth’s Java developers.
</subtitle><entry><title type="html">JWT 検証の強化、Java 26 サポートなど 26.0.0.4</title><link href="https://openliberty.io/ja/blog/2026/04/21/26.0.0.4.html" rel="alternate" type="text/html" title="JWT 検証の強化、Java 26 サポートなど 26.0.0.4" /><published>2026-04-21T00:00:00+00:00</published><updated>2026-04-21T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2026/04/21/26.0.0.4</id><content type="html" xml:base="https://openliberty.io/ja/blog/2026/04/21/26.0.0.4.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、JOSE ヘッダーから JWT 署名アルゴリズムを選択するサポートを導入し、Java 26 のサポートを追加しました。また、セキュリティ強化のためデフォルトの LTPA 鍵パスワードを削除し、ファイル転送の制限とセキュリティ脆弱性の修正が含まれています。</p>
</div>
<div class="paragraph">
<p><a href="/">Open Liberty</a> 26.0.0.4 の内容:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#file_transfer">26.0.0.4 のファイル転送の変更</a></p>
</li>
<li>
<p><a href="#ltpa">デフォルト LTPA 鍵パスワードの削除</a></p>
</li>
<li>
<p><a href="#jwt">JOSE ヘッダーからの JWT 署名および復号化アルゴリズムの選択サポート</a></p>
</li>
<li>
<p><a href="#java_26">Java 26 のサポート</a></p>
</li>
<li>
<p><a href="#displayCustomizedExceptionText">displayCustomizedExceptionText プロパティ</a></p>
</li>
<li>
<p><a href="#CVEs">セキュリティ脆弱性 (CVE) の修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>修正されたバグの一覧は、<a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26004+label%3A%22release+bug%22">26.0.0.4 のリリースノート</a>で確認できます。</p>
</div>
<div class="paragraph">
<p>その他の情報は、<a href="/blog/?search=release&amp;search!=beta">過去の Open Liberty GA リリースブログ記事</a>をチェックしてください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">26.0.0.4 を使いアプリを開発・実行するには</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a>を使っている場合は、`pom.xml`に以下を含めてください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.12.0<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a>を使っている場合は、`build.gradle`に以下のように含めてください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p>さらに、<a href="/docs/latest/container-images.html">コンテナイメージ</a>を使う場合はこちら：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>あるいは、<a href="/start/">ダウンロードページ</a>をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>、<a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> に対しても、<a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Open Liberty の開発者ツール</a>を使って IDE 内からの開発・テスト・デバッグ・アプリ管理が可能です。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflow で質問する"></a>
</div>
</div>
<div class="sect2">
<h3 id="file_transfer">26.0.0.4 のファイル転送の変更</h3>
<div class="paragraph">
<p><code>restConnector-2.0</code> 機能によって提供される Liberty の FileService MBean に、新たに <code>blocklist</code> 属性が追加されました。この属性は <code>server.xml</code> ファイル内の <code>&lt;blockDir&gt;</code> 設定要素で構成されます。この属性のデフォルト値は <code>${server.output.dir}/resources/security</code> です。この動作変更により、セキュリティ脆弱性 <a href="https://github.com/advisories/GHSA-c39w-6qgm-5cp7">CVE-2025-14915</a> が解決され、デフォルトの FileTransfer アクセスが <code>${server.output.dir}/resources/security</code> に制限されます。</p>
</div>
<div class="paragraph">
<p><code>${server.output.dir}/resources/security</code> への FileTransfer アクセスが必要な場合は、空のブロックリストを設定することで元の動作を復元できます。</p>
</div>
<div class="paragraph">
<p>詳細については、<a href="https://www.ibm.com/docs/en/was-liberty/nd?topic=manually-file-transfer">ドキュメント</a>を参照してください。</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ltpa">デフォルト LTPA 鍵パスワードの削除</h2>
<div class="sectionbody">
<div class="paragraph">
<p>セキュリティ脆弱性 <a href="https://www.ibm.com/support/pages/node/7266845">CVE-2025-14917</a> を解決するため、デフォルトの LTPA 鍵パスワードが削除されました。</p>
</div>
<div class="paragraph">
<p>以前は、<code>&lt;ltpa /&gt;</code> 要素で <code>keysPassword</code> 属性が定義されていない場合、LTPA 鍵のデフォルトパスワードが使用されていました。この変更により、デフォルトパスワードはサポートされなくなりました。</p>
</div>
<div class="paragraph">
<p>既存のサーバーで、LTPA 鍵パスワードが <code>server.xml</code> ファイルで設定されていない場合、<code>server.env</code> ファイルの <code>keystore_password</code> が使用されます。この値は <code>ltpa.keys</code> ファイル内の LTPA 鍵を再暗号化します。LTPA 鍵自体は影響を受けません。<code>keystore_password</code> は、<code>server create</code> コマンドで <code>--no-password</code> オプションを使用しない限り、サーバー作成時に <code>server.env</code> ファイルに設定されます。</p>
</div>
<div class="paragraph">
<p><code>server.xml</code> ファイルの <code>&lt;ltpa /&gt;</code> 要素で <code>keysPassword</code> が定義されておらず、<code>server.env</code> ファイルで <code>keystore_password</code> が定義されていない場合、LTPA サービスは失敗します。
次のエラーメッセージが表示されます：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="text">CWWKS4118E: LTPA configuration error. A keysPassword attribute is not configured on the &lt;ltpa /&gt; element, the 'ltpa_keys_password' environment variable is not set, and the 'keystore_password' environment variable is not set.</code></pre>
</div>
</div>
<div class="paragraph">
<p>LTPA 鍵パスワードが設定されていることを確認するには、次の手順を実行してください：</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>server.xml</code> ファイルの <code>&lt;ltpa /&gt;</code> 要素に <code>keysPassword</code> 属性が提供されているかどうかを確認します（例：<code>&lt;ltpa keysPassword="myKeysPassword" /&gt;</code>）。</p>
<div class="ulist">
<ul>
<li>
<p>提供されている場合、この更新は影響せず、それ以上のアクションは必要ありません。</p>
</li>
<li>
<p>提供されていない場合は、追加*しないで*次のステップに進んでください。</p>
</li>
</ul>
</div>
</li>
<li>
<p><code>server.env</code> ファイルに <code>keystore_password</code> 環境変数が存在するかどうかを確認します（例：<code>keystore_password=myKeystorePassword</code>）。</p>
<div class="ulist">
<ul>
<li>
<p>存在する場合、サーバー起動時に <code>keystore_password</code> を使用して、以前デフォルトの <code>keysPassword</code> で暗号化されていた LTPA 鍵を再暗号化します。</p>
</li>
<li>
<p>存在しない場合は、次のステップに進んでください。</p>
</li>
</ul>
</div>
</li>
<li>
<p><code>server.env</code> ファイルに次の環境変数を追加します（新しいサーバー用の次のセクションで説明する <code>ltpa_keys_password</code> では*なく*、ここでは <code>keystore_password</code> を使用してください）：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="properties">keystore_password=your-desired-password</code></pre>
</div>
</div>
<div class="ulist">
<ul>
<li>
<p>サーバー起動時に <code>keystore_password</code> を使用して、以前デフォルトの <code>keysPassword</code> で暗号化されていた LTPA 鍵を再暗号化します。</p>
</li>
</ul>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>新しいサーバーの場合、サーバー作成時に新しい <code>ltpa_keys_password</code> がランダムに生成されます。これは、<code>server create</code> コマンドで <code>--no-password</code> オプションが指定されない限り、<code>server.env</code> ファイルに保存されます。<code>&lt;ltpa /&gt;</code> 要素で <code>keysPassword</code> 属性が定義されていない場合、ランダムに生成された <code>ltpa_keys_password</code> が使用されます。</p>
</div>
<div class="paragraph">
<p>詳細については、<a href="https://openliberty.io/docs/latest/reference/config/ltpa.html">LTPA</a> 設定要素を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="jwt">JOSE ヘッダーからの JWT 署名および復号化アルゴリズムの選択サポート</h2>
<div class="sectionbody">
<div class="paragraph">
<p>JSON Web Token (JWT) は、さまざまな暗号署名アルゴリズムを使用して署名できます。このリリースでは、JWT Consumer、MicroProfile JWT、OpenID Connect Client、Social Media Login 機能が、JOSE ヘッダーから JWT 署名アルゴリズムを選択することをサポートします。このサポートにより、トークンヘッダーに基づいて異なる署名アルゴリズムを使用できるようになります。</p>
</div>
<div class="paragraph">
<p>以前は、<code>server.xml</code> ファイルの各設定に対して、1 つの署名アルゴリズム（例：<code>RS256</code>）のみを設定できました。受信した JWT が異なるアルゴリズムで署名されている場合、検証は失敗していました。この更新により、JWT ヘッダーの署名アルゴリズムを検証に使用できるようになります。これにより、単一の設定内で異なる署名アルゴリズムを使用する柔軟性が提供されます。</p>
</div>
<div class="sect2">
<h3 id="使用方法">使用方法</h3>
<div class="paragraph">
<p>ヘッダーからの署名アルゴリズム選択を有効にするには、<code>signatureAlgorithm</code> 属性を <code>FROM_HEADER</code> に設定し、オプションで <code>allowedSignatureAlgorithms</code> 属性を設定して許可するアルゴリズムを指定します。</p>
</div>
<div class="paragraph">
<p><code>allowedSignatureAlgorithms</code> が設定されていない場合、デフォルトリストには Open Liberty がサポートするすべての署名アルゴリズムが含まれます：<code>RS256</code>、<code>RS384</code>、<code>RS512</code>、<code>HS256</code>、<code>HS384</code>、<code>HS512</code>、<code>ES256</code>、<code>ES384</code>、<code>ES512</code>。</p>
</div>
<div class="paragraph">
<p>非対称アルゴリズムとトラストストア設定で <code>FROM_HEADER</code> を使用する場合、公開鍵には対応するアルゴリズムのプレフィックスを付ける必要があります（例：<code>RS256_keyalias</code>）。検証中、サーバーは JWT のヘッダーで指定されたアルゴリズムで始まるエイリアスをトラストストアで検索します。アルゴリズムのプレフィックスが付いたエイリアスが見つからない場合、クライアントは <code>trustedAlias</code> 属性（<code>jwtConsumer</code> の場合）または <code>trustAliasName</code> 属性（<code>openidConnectClient</code>、<code>oidcLogin</code>、<code>mpJwt</code> の場合）で指定されたエイリアスの使用にフォールバックします（設定されている場合）。</p>
</div>
<div class="paragraph">
<p>サポートされている要素にこれらの設定を適用する方法の例については、次の <code>server.xml</code> ファイル設定を参照してください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;jwtConsumer</span>
    <span class="attribute-name">signatureAlgorithm</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">FROM_HEADER</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">allowedSignatureAlgorithms</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">RS256, ES384, HS512</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">...</span>
<span class="tag">/&gt;</span>

<span class="tag">&lt;mpJwt</span>
    <span class="attribute-name">signatureAlgorithm</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">FROM_HEADER</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">allowedSignatureAlgorithms</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">RS256, ES384, HS512</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">...</span>
<span class="tag">/&gt;</span>

<span class="tag">&lt;openidConnectClient</span>
    <span class="attribute-name">signatureAlgorithm</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">FROM_HEADER</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">allowedSignatureAlgorithms</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">RS256, ES384, HS512</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">...</span>
<span class="tag">/&gt;</span>

<span class="tag">&lt;oidcLogin</span>
    <span class="attribute-name">signatureAlgorithm</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">FROM_HEADER</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">allowedSignatureAlgorithms</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">RS256, ES384, HS512</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">...</span>
<span class="tag">/&gt;</span></code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="詳細情報">詳細情報</h3>
<div class="paragraph">
<p><strong>サーバー設定：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/config/openidConnectClient.html">openidConnectClient</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/config/jwtConsumer.html">jwtConsumer</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/config/mpJwt.html">mpJwt</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/config/oidcLogin.html">oidcLogin</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>ドキュメント：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/feature/openidConnectClient-1.0.html">OpenID Connect Client 1.0</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/feature/jwt-1.0.html">JSON Web Token 1.0</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/feature/mpJwt-2.1.html">MicroProfile JWT 2.1</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/reference/feature/socialLogin-1.0.html">Social Media Login 1.0</a></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="java_26">Java 26 のサポート</h3>
<div class="paragraph">
<p>Java 26 は、以前のバージョンに比べて新機能と拡張機能を導入した最新の Java リリースです。このリリースは長期サポート（LTS）リリースではありません。</p>
</div>
<div class="paragraph">
<p><a href="https://openjdk.org/projects/jdk/26/">Java 26</a> には 10 の新機能（JEP）があります。5 つはテスト機能で、5 つは完全に提供されています。</p>
</div>
<div class="paragraph">
<p><strong>テスト機能：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>524: <a href="https://openjdk.org/jeps/524">PEM Encodings of Cryptographic Objects (Second Preview)</a></p>
</li>
<li>
<p>525: <a href="https://openjdk.org/jeps/525">Structured Concurrency (Sixth Preview)</a></p>
</li>
<li>
<p>526: <a href="https://openjdk.org/jeps/526">Lazy Constants (Second Preview)</a></p>
</li>
<li>
<p>529: <a href="https://openjdk.org/jeps/529">Vector API (Eleventh Incubator)</a></p>
</li>
<li>
<p>530: <a href="https://openjdk.org/jeps/530">Primitive Types in Patterns, instanceof, and switch (Fourth Preview)</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>提供された機能：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>500: <a href="https://openjdk.org/jeps/500">Prepare to Make Final Mean Final</a></p>
</li>
<li>
<p>504: <a href="https://openjdk.org/jeps/504">Remove the Applet API</a></p>
</li>
<li>
<p>516: <a href="https://openjdk.org/jeps/516">Ahead-of-Time Object Caching with Any GC</a></p>
</li>
<li>
<p>517: <a href="https://openjdk.org/jeps/517">HTTP/3 for the HTTP Client API</a></p>
</li>
<li>
<p>522: <a href="https://openjdk.org/jeps/522">G1 GC: Improve Throughput by Reducing Synchronization</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Java 26 の新しい変更 JEP 500（「Prepare to Make Final Mean Final」）は、深いリフレクションを使用する際に final フィールドの変更を制限することで、final フィールドの真の不変性の強制を開始します。
Java 26 では、このような変更は引き続き機能しますが、デフォルトで実行時警告をトリガーし、開発者がより厳格な強制に備えることができます。
将来のリリースでは、例外をスローする可能性が高く、final を真に不変にします。</p>
</div>
<div class="paragraph">
<p>開発者は、JVM フラグ（例：<code>--illegal-final-field-mutation=deny</code>）を使用して、この厳格な動作を早期に選択し、問題を早期に検出できます。
この変更により、プログラムの正確性、セキュリティ、および JVM 最適化が向上します。</p>
</div>
<div class="paragraph">
<p>今すぐこれらの変更を活用して、アプリケーションとマイクロサービスが Java 26 でどのように動作するかを評価する時間を増やしてください。</p>
</div>
<div class="paragraph">
<p><a href="https://developer.ibm.com/languages/java/semeru-runtimes/downloads/">IBM Semeru Runtime 26</a> または <a href="https://adoptium.net/temurin/releases/?version=26">Temurin 26</a> の最新リリースをダウンロードし、Open Liberty <a href="/start/#runtime_releases">26.0.0.4</a> をダウンロードしてインストールすることで、今日から始めることができます。Liberty サーバーの <a href="/docs/latest/reference/config/server-configuration-overview.html#server-env">server.env</a> ファイルを更新し、<code>JAVA_HOME</code> を Java 26 インストールディレクトリに設定してテストを開始してください。</p>
</div>
<div class="paragraph">
<p>Java 26 の詳細については、Java 26 の <a href="https://jdk.java.net/26/release-notes">リリースノートページ</a>および <a href="https://docs.oracle.com/en/java/javase/26/docs/api/index.html">API Javadoc ページ</a>を参照してください。</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="displayCustomizedExceptionText">displayCustomizedExceptionText プロパティ</h2>
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、<code>displayCustomizedExceptionText</code> 設定のドキュメントとテストが追加されました。これにより、ユーザーは Liberty のデフォルトエラーメッセージ（SRVE0218E: Forbidden や SRVE0232E: An exception occurred など）を、より明確なユーザー定義メッセージでオーバーライドできます。</p>
</div>
<div class="paragraph">
<p>この機能は、シンプルな <code>server.xml</code> ファイル設定を通じて有効化され、カスタムメッセージを特定の HTTP ステータスコード（<code>403</code> および <code>500</code>）にマッピングできます。</p>
</div>
<div class="paragraph">
<p>テストにより、これらのカスタムメッセージがサポートされているすべてのプラットフォームで Liberty のデフォルトを正しく置き換えることが確認され、設定されたテキストがすべてのシナリオで一貫して返されることが確認されます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;webContainer</span> <span class="attribute-name">displaycustomizedexceptiontext</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">Custom error message</span><span class="delimiter">&quot;</span></span><span class="tag">/&gt;</span></code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CVEs">このリリースでのセキュリティ脆弱性 (CVE) 修正</h2>
<div class="sectionbody">
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">CVE</th>
<th class="tableblock halign-left valign-top">CVSS スコア</th>
<th class="tableblock halign-left valign-top">脆弱性内容</th>
<th class="tableblock halign-left valign-top">影響を受けるバージョン</th>
<th class="tableblock halign-left valign-top">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-14915">CVE-2025-14915</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">6.5</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">権限昇格</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-26.0.0.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">restConnector-2.0 機能に影響</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-14917">CVE-2025-14917</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">6.7</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">セキュリティの弱体化</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-26.0.0.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">appSecurity-1.0、appSecurity-2.0、appSecurity-3.0、appSecurity-4.0、appSecurity-5.0 機能に影響</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2026-1561">CVE-2026-1561</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">5.4</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">サーバーサイドリクエストフォージェリ (SSRF)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-26.0.0.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">samlWeb-2.0 機能に影響</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2026-29063">CVE-2026-29063</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">8.7</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">プロトタイプ汚染</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-26.0.0.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">openapi-3.1、mpOpenAPI-1.0、mpOpenAPI-1.1、mpOpenAPI-2.0、mpOpenAPI-3.0、mpOpenAPI-3.1、mpOpenAPI-4.0、mpOpenAPI-4.1 機能に影響</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>過去の脆弱性修正の一覧については、Open Liberty の <a href="/docs/latest/security-vulnerabilities.html">セキュリティ脆弱性 (CVE) のリスト</a>を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-26-0-0-4-を今すぐ入手">Open Liberty 26.0.0.4 を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p>このバージョンは<a href="#run">Maven、Gradle、Docker、またはアーカイブ</a>からダウンロード可能です。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="microprofile" /><category term="java-se" /><category term="release" /><category term="security" /><summary type="html"><![CDATA[このリリースでは、JOSE ヘッダーから JWT 署名アルゴリズムを選択するサポートを導入し、Java 26 のサポートを追加しました。また、セキュリティ強化のためデフォルトの LTPA 鍵パスワードを削除し、ファイル転送の制限とセキュリティ脆弱性の修正が含まれています。]]></summary></entry><entry><title type="html">26.0.0.3 における UserRegistry 属性リーダーの機能強化と Jandex インデックス形式サポートの更新</title><link href="https://openliberty.io/ja/blog/2026/03/24/26.0.0.3.html" rel="alternate" type="text/html" title="26.0.0.3 における UserRegistry 属性リーダーの機能強化と Jandex インデックス形式サポートの更新" /><published>2026-03-24T00:00:00+00:00</published><updated>2026-03-24T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2026/03/24/26.0.0.3</id><content type="html" xml:base="https://openliberty.io/ja/blog/2026/03/24/26.0.0.3.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、LDAP およびカスタム・レジストリからユーザー属性を取得するための UserRegistry 属性リーダー API が導入され、Jandex インデックス形式 11-13 のサポートが追加されてアプリケーションの起動パフォーマンスが向上しました。</p>
</div>
<div class="paragraph">
<p><a href="/">Open Liberty</a> 26.0.0.3 では:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#userregistry">UserRegistry 属性リーダーの機能強化</a></p>
</li>
<li>
<p><a href="#jandex">Jandex インデックス形式サポートの更新</a></p>
</li>
<li>
<p><a href="#bugs">注目すべきバグ修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26003+label%3A%22release+bug%22">26.0.0.3</a> で修正されたバグのリストをご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前の Open Liberty GA リリースのブログ投稿</a> もチェックしてください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">26.0.0.3 を使用してアプリを開発および実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a> を使用している場合は、<code>pom.xml</code> ファイルに以下を含めます:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.12.0<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a> の場合は、<code>build.gradle</code> ファイルに以下を含めます:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/docs/latest/container-images.html">コンテナ・イメージ</a> を使用している場合は:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/start/">ダウンロード・ページ</a> をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>、または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> を使用している場合は、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty 開発者ツール</a> を活用して、IDE 内から効果的な開発、テスト、デバッグ、およびアプリケーション管理を行うこともできます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflow で質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="userregistry">UserRegistry 属性リーダーの機能強化</h2>
<div class="sectionbody">
<div class="paragraph">
<p>UserRegistry API は、LDAP およびカスタム・ユーザー・レジストリから直接、特定のユーザー属性を取得し、属性値に基づいてユーザーを検索する機能をアプリケーションに提供します。</p>
</div>
<div class="sect2">
<h3 id="新機能">新機能</h3>
<div class="paragraph">
<p>以前は、UserRegistry API は <code>userSecurityName</code> による検索やワイルドカード・パターン・マッチングを使用した基本的なユーザー検索のみをサポートしていました。しかし、特定のユーザー属性を取得したり、属性値に基づいてユーザーを検索したりすることはできませんでした。これらの機能は、VMM API を通じて従来の WebSphere で利用可能でした。これら 2 つの新しい API の導入により、アプリケーションは LDAP およびカスタム・ユーザー・レジストリからユーザーを検索し、属性を取得できるようになりました。</p>
</div>
<div class="paragraph">
<p>この機能強化により、<code>getAttributesForUser()</code> メソッドを使用してユーザーの特定の属性を取得できるようになりました。このメソッドは、email や phoneNumber などの個別の属性の取得、または "*" を使用してユーザーの利用可能なすべての属性の取得をサポートします。</p>
</div>
<div class="paragraph">
<p>また、<code>getUsersByAttribute()</code> メソッドを使用して属性値に基づいてユーザーを検索することもでき、アプリケーションは特定の属性条件に一致するユーザーを見つけることができます。これらのメソッドは LDAP ユーザー・レジストリでサポートされています。カスタム・ユーザー・レジストリの実装でも、これらのメソッドを実装してサポートすることができます。</p>
</div>
</div>
<div class="sect2">
<h3 id="使用方法">使用方法</h3>
<div class="paragraph">
<p><code>UserRegistry.java</code> に追加された新しい API メソッド:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>default Map&lt;String, Object&gt; getAttributesForUser(String userSecurityName, Set&lt;String&gt; attributeNames)</code></p>
<div class="paragraph">
<p><strong>説明:</strong> LDAP ユーザー・レジストリで構成されている、指定された <code>userSecurityName</code> の <code>attributesNames</code> とそれに対応する値を含む Map&lt;String, Object&gt; を返します。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="java">UserRegistry ur = RegistryHelper.getUserRegistry(<span class="string"><span class="delimiter">&quot;</span><span class="content">realmName</span><span class="delimiter">&quot;</span></span>);

<span class="comment">// 有効な ldap 属性名</span>
<span class="predefined-type">Set</span>&lt;<span class="predefined-type">String</span>&gt; attributeNames = <span class="predefined-type">Set</span>.of(<span class="string"><span class="delimiter">&quot;</span><span class="content">telephoneNumber</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">uid</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">mail</span><span class="delimiter">&quot;</span></span>);  <span class="comment">// またはすべての属性を取得するには &quot;*&quot;</span>
<span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>, <span class="predefined-type">Object</span>&gt; result = ur.getAttributesForUser(<span class="string"><span class="delimiter">&quot;</span><span class="content">testuser</span><span class="delimiter">&quot;</span></span>, attributeNames);

<span class="comment">// trace.log の出力</span>
&gt; getAttributesForUser Entry
  testuser
  [telephoneNumber, uid, mail]

&lt; getAttributesForUser Exit
  {uid=testuser, mail=testuser<span class="annotation">@example</span>.com, telephoneNumber=&lt;telephone-number&gt;}</code></pre>
</div>
</div>
</li>
<li>
<p><code>default SearchResult getUsersByAttribute(String attributeName, String value, int limit)</code></p>
<div class="paragraph">
<p><strong>説明:</strong> LDAP ユーザー・レジストリで構成されている、指定された <code>value</code> を持つ <code>attributeName</code> に一致するユーザーのリストを含む <code>SearchResult</code> オブジェクトを返します。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="java">UserRegistry ur = RegistryHelper.getUserRegistry(<span class="string"><span class="delimiter">&quot;</span><span class="content">realmName</span><span class="delimiter">&quot;</span></span>);

<span class="predefined-type">SearchResult</span> searchResult = ur.getUsersByAttribute(<span class="string"><span class="delimiter">&quot;</span><span class="content">email</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">testuser@example.com</span><span class="delimiter">&quot;</span></span>, <span class="integer">1</span>);

<span class="comment">// trace.log の出力</span>
&gt; getUsersByAttribute Entry
  email
  testuser<span class="annotation">@example</span>.com
  <span class="integer">1</span>

&lt; getUsersByAttribute Exit
  <span class="predefined-type">SearchResult</span> hasMore=<span class="predefined-constant">false</span> [testuser]</code></pre>
</div>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>ユーザー・レジストリの詳細については、以下のリソースを参照してください:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://www.ibm.com/docs/en/was-liberty/base?topic=infrastructure-customizing-user-registries-repositories-liberty">Open Liberty カスタム・ユーザー・レジストリのドキュメント</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/modules/reference/24.0.0.3/com.ibm.websphere.appserver.api.securityClient_1.1-javadoc/com/ibm/websphere/security/UserRegistry.html">UserRegistry API Javadoc</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/user-registries-application-security.html#_federated_user_registries">フェデレーテッド・ユーザー・レジストリの構成</a></p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="jandex">Jandex インデックス形式サポートの更新</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Open Liberty は最新の Jandex インデックス形式をサポートするようになり、Jandex バージョン 3.1.0 以降で作成された Jandex インデックスを使用できるようになりました。Jandex は、メモリ効率優れた Java アノテーション・インデクサーおよびオフライン・リフレクション・ライブラリで、クラス・メタデータを事前にインデックス化することでアプリケーションの起動パフォーマンスを向上させます。</p>
</div>
<div class="paragraph">
<p>この機能は、Jakarta EE および MicroProfile アプリケーションを扱うアプリケーション開発者および DevOps エンジニアを対象としています。アプリケーションの起動時間を最適化し、ランタイム・コストを削減するように設計されています。</p>
</div>
<div class="sect2">
<h3 id="新機能-2">新機能</h3>
<div class="paragraph">
<p>この更新により、Open Liberty は Jandex インデックス形式 <strong>11、12、および 13</strong> をサポートします。Jandex バージョン 3.1.0 から現在の最新バージョン 3.5.3 までは、これらの形式を使用するインデックスを生成します。</p>
</div>
<div class="paragraph">
<p>以前まで、Open Liberty は Jandex インデックス形式バージョン 10 までしかサポートしていませんでした。このインデックス形式の制限により、Jandex インデックスでパッケージ化されたアプリケーションは、期待されるパフォーマンス向上を維持しながらバージョン 10 を超えるインデックス形式を使用することができませんでした。これらのパフォーマンス上の利点を維持するために、ビルド・ツールは 3.1.0 より前の Jandex バージョンを使用し続けるか、バージョン 10 までのインデックス形式を使用するインデックスを生成するように Jandex インデックス生成を明示的に構成する必要がありました。</p>
</div>
</div>
<div class="sect2">
<h3 id="メリット">メリット</h3>
<div class="paragraph">
<p>Jandex インデックス形式のサポート追加には、いくつかのメリットがあります:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>互換性の向上:</strong> 新しい Jandex バージョンを使用する最新のビルド・ツールおよびフレームワークとシームレスに連携</p>
</li>
<li>
<p><strong>起動時間の短縮:</strong> バージョンの制約なしに Jandex の効率的なアノテーション・インデックス化の恩恵を受け続けることができる</p>
</li>
<li>
<p><strong>メンテナンスの削減:</strong> 複数の Jandex バージョンを維持したり、互換性のためにインデックスを再生成したりする必要がない</p>
</li>
<li>
<p><strong>将来性:</strong> Jandex エコシステムの進化に合わせて最新の状態を維持</p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="制限事項">制限事項</h3>
<div class="paragraph">
<p><strong>Jandex インデックスを使用する場合は、インデックス・ファイルがアプリケーション・クラスと最新の状態に保たれていることを確認してください。</strong> Jandex インデックスがアプリケーション・クラスと同期していない場合、不正なアノテーション・データが含まれる可能性があり、アプリケーションが正しく機能しなくなる可能性があります。古い Jandex インデックスを確実に検出することはできません。</p>
</div>
<div class="paragraph">
<p>Open Liberty は、インデックス形式 13 より高いインデックス形式を読み取りません。新しいバージョンの Jandex がより高いインデックス形式バージョンを追加した場合、Open Liberty はより高いインデックス形式バージョンを使用する Jandex インデックスを読み取る前に更新が必要です。</p>
</div>
<div class="paragraph">
<p>外部ソースから取得される Open Liberty フィーチャー <code>mpGraphQL</code> は、インデックス形式 10 以下の Jandex インデックス形式の読み取りに制限されています。フィーチャー <code>mpGraphQL</code> を使用する場合、Jandex インデックスはインデックス形式 10 を使用して生成する必要があります。この制限は、現在の最新バージョン <code>mpGraphQL-2.0</code> を含む、<code>mpGraphQL</code> のすべての現行バージョンに適用されます。</p>
</div>
</div>
<div class="sect2">
<h3 id="制限の緩和">制限の緩和</h3>
<div class="paragraph">
<p>以前は、Jandex の使用が有効になっており、アプリケーションに形式 11 から 13 を使用する Jandex インデックスが含まれている場合、Open Liberty はエラー・メッセージを表示し、それらのインデックスを無視していました。このような場合、アノテーション・スキャンは Liberty の内部アノテーション・スキャン・メカニズムを使用して実行されていました。</p>
</div>
<div class="paragraph">
<p>Jandex インデックス形式 11 から 13 のサポートが追加されたことで、Open Liberty はこれらの形式で生成されたインデックスを使用するようになりました。これらのインデックスは、アプリケーション・クラスと最新の状態に保つ必要があります。アプリケーションでパッケージ化された Jandex インデックスが現在のアプリケーション・クラスを正確に反映していることを確認してください。</p>
</div>
</div>
<div class="sect2">
<h3 id="使用方法-2">使用方法</h3>
<div class="paragraph">
<p>新しい Jandex インデックス形式のサポートを有効にするために、<code>server.xml</code> ファイルで構成を変更する必要はありません。Open Liberty は Jandex インデックス形式を自動的に検出し、その形式に適したインデックス・リーダーを選択します。形式 11、12、および 13 を使用するインデックスを読み取り、バージョン 10 までの形式を使用するインデックスも引き続きサポートします。</p>
</div>
<div class="paragraph">
<p>デフォルトでは、Jandex の使用は無効になっています。Jandex を有効にするには、<code>application</code> 要素または <code>applicationManager</code> 要素のいずれかで <code>useJandex</code> プロパティを <code>true</code> に設定します。</p>
</div>
<div class="paragraph">
<p>ビルド・プロセスの一部として Jandex インデックスを生成している場合、最新の Jandex Maven プラグインまたは Gradle プラグインのバージョンを使用できるようになりました:</p>
</div>
<div class="paragraph">
<p><strong>Maven の例:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.smallrye<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>jandex-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.5.3<span class="tag">&lt;/version&gt;</span>
    <span class="tag">&lt;executions&gt;</span>
        <span class="tag">&lt;execution&gt;</span>
            <span class="tag">&lt;id&gt;</span>make-index<span class="tag">&lt;/id&gt;</span>
            <span class="tag">&lt;goals&gt;</span>
                <span class="tag">&lt;goal&gt;</span>jandex<span class="tag">&lt;/goal&gt;</span>
            <span class="tag">&lt;/goals&gt;</span>
        <span class="tag">&lt;/execution&gt;</span>
    <span class="tag">&lt;/executions&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>Gradle の例:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">plugins {
    id 'org.kordamp.gradle.jandex' version '2.3.0'
}</code></pre>
</div>
</div>
<div class="paragraph">
<p>Open Liberty は、サポートされているインデックス形式バージョンに対して、生成された <code>META-INF/jandex.idx</code> ファイルを自動的に検出して認識します。</p>
</div>
<div class="paragraph">
<p>詳細については、<a href="https://smallrye.io/jandex/jandex/3.5.3/index.html">Jandex ドキュメント</a> を参照してください。</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="bugs">このリリースで修正された注目すべきバグ</h2>
<div class="sectionbody">
<div class="paragraph">
<p>いくつかのバグを修正しました。以下のセクションでは、このリリースで解決された問題のいくつかについて説明します。興味がある場合は、<a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26003+label%3A%22release+bug%22">26.0.0.3 で修正されたバグの完全なリスト</a> をご覧ください。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/34017">JMX REST クライアントでエラー・メッセージが欠落</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/34052">EclipseLink 2.7.16 修正の削除により Open Liberty で NullPointerException が再発</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/34171">IBM WebSphere Application Server Liberty が jose4j によるサービス拒否の影響を受ける (CVE-2024-29371 CVSS 7.5)</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-26-0-0-3-を今すぐ入手">Open Liberty 26.0.0.3 を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven、Gradle、Docker、およびダウンロード可能なアーカイブ</a> から入手できます。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="microprofile" /><category term="java-se" /><category term="release" /><category term="security" /><category term="jakarta-ee" /><category term="performance-enhancements" /></entry><entry><title type="html">26.0.0.2 の Liberty ビルド・プラグインにおける Java Toolchains</title><link href="https://openliberty.io/ja/blog/2026/02/24/26.0.0.2.html" rel="alternate" type="text/html" title="26.0.0.2 の Liberty ビルド・プラグインにおける Java Toolchains" /><published>2026-02-24T00:00:00+00:00</published><updated>2026-02-24T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2026/02/24/26.0.0.2</id><content type="html" xml:base="https://openliberty.io/ja/blog/2026/02/24/26.0.0.2.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは Java Toolchains のサポートが導入され、開発者はビルド・ツールの実行に使用する JDK と Liberty サーバーの実行に使用する JDK を分離できるようになりました。</p>
</div>
<div class="paragraph">
<p><a href="/">Open Liberty</a> 26.0.0.2 では:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#java_toolchains">Liberty ビルド・プラグインにおける Java Toolchains</a></p>
</li>
<li>
<p><a href="#bugs">注目すべきバグ修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26002+label%3A%22release+bug%22">26.0.0.2</a> で修正されたバグのリストをご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前の Open Liberty GA リリースのブログ投稿</a> もチェックしてください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">26.0.0.2 を使用してアプリを開発および実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a> を使用している場合は、<code>pom.xml</code> ファイルに以下を含めます:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.12.0<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a> の場合は、<code>build.gradle</code> ファイルに以下を含めます:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.10.0'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/docs/latest/container-images.html">コンテナ・イメージ</a> を使用している場合は:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/start/">ダウンロード・ページ</a> をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>、または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> を使用している場合は、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty 開発者ツール</a> を活用して、IDE 内から効果的な開発、テスト、デバッグ、およびアプリケーション管理を行うこともできます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflow で質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="java_toolchains">Liberty ビルド・プラグインにおける Java Toolchains</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Liberty ビルド・プラグインの最新リリースでは、Java Toolchains のサポートが追加されました。この機能強化により、開発者はビルド・ツール (Maven または Gradle) の実行に使用する JDK と、Liberty サーバーおよびアプリケーションの実行に使用する JDK を分離できるようになります。これにより、より高い柔軟性と環境の一貫性が提供されます。</p>
</div>
<div class="sect2">
<h3 id="java-toolchains-のサポート">Java Toolchains のサポート</h3>
<div class="paragraph">
<p>Liberty ビルド・プラグインは、標準の Java Toolchain メカニズムをサポートするようになりました。
従来、Liberty プラグインは、Maven または Gradle を実行している JVM と同じ Java バージョンを使用する必要がありました。
これにより、アプリケーションが特定の古い JDK バージョンを必要とする場合、開発者はビルド・プロセスでより新しい JDK バージョンを使用することができませんでした。</p>
</div>
<div class="paragraph">
<p>Java Toolchains を使用すると、ビルド・ツールを最新の JDK (例: Java 25) で実行できるようになりました。一方で、Liberty サーバー本体や、すべてのサーバー操作は、別途構成した JDK（例: Java 8）で実行できます。</p>
</div>
</div>
<div class="sect2">
<h3 id="maven-プラグインの統合">Maven プラグインの統合</h3>
<div class="paragraph">
<p>Liberty Maven Plugin は、バージョン 3.12.0 以降、Maven Toolchains とシームレスに統合されるようになりました。この機能を使用するには、<code>~/.m2/toolchains.xml</code> ファイルで使用可能な JDK を定義し、<code>pom.xml</code> の Liberty Maven Plugin の <code>&lt;configuration&gt;</code> 内で <code>&lt;jdkToolchain&gt;</code> を構成します。
プラグインは、指定した条件に一致する toolchain を自動的に検出して使用します。
詳細な構成手順とパラメーターについては、<a href="https://github.com/OpenLiberty/ci.maven/blob/main/docs/toolchain.md">Liberty Maven Plugin Toolchain ドキュメント</a> を参照してください。</p>
</div>
<div class="paragraph">
<p>プラグインは、Maven プロファイルで定義された JDK ベンダーとバージョンの制約を認識し、異なる開発者マシンや CI/CD パイプライン間でサーバー環境の一貫性を確保するのに役立ちます。</p>
</div>
</div>
<div class="sect2">
<h3 id="gradle-プラグインの統合">Gradle プラグインの統合</h3>
<div class="paragraph">
<p>Liberty Gradle プラグインは、バージョン 3.10.0 以降、ネイティブの <code>java { toolchain { &#8230;&#8203; } }</code> 構成ブロックを認識するようになりました。この構成により、異なるサービスが異なるランタイム要件を持つ可能性があるマルチプロジェクト・ビルド全体で Java バージョンを管理する統一された方法が提供されます。</p>
</div>
<div class="paragraph">
<p>詳細な構成手順とパラメーターについては、<a href="https://github.com/OpenLiberty/ci.gradle/blob/main/docs/toolchain.md">Liberty Gradle Plugin Toolchain ドキュメント</a> を参照してください。</p>
</div>
<div class="paragraph">
<p><code>build.gradle</code> で toolchain が構成されている場合、Liberty プラグインはすべてのサーバー関連タスク (例: <code>libertyDev</code> および <code>libertyStart</code>) にその特定の Java ランタイムを使用します。</p>
</div>
</div>
<div class="sect2">
<h3 id="今すぐ試す">今すぐ試す</h3>
<div class="paragraph">
<p>Java Toolchains の使用を開始するには、ビルド・ツールを Liberty Maven または Gradle プラグインの最新バージョンに更新してください。</p>
</div>
<div class="paragraph">
<p><strong>Maven の場合:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.12.0<span class="tag">&lt;/version&gt;</span>
    <span class="tag">&lt;configuration&gt;</span>
        <span class="tag">&lt;jdkToolchain&gt;</span>
            <span class="tag">&lt;version&gt;</span>11<span class="tag">&lt;/version&gt;</span>
            <span class="comment">&lt;!-- オプション: toolchain を区別する必要がある場合はベンダーを含めます --&gt;</span>
             <span class="comment">&lt;!-- &lt;vendor&gt;ibm&lt;/vendor&gt; --&gt;</span>
        <span class="tag">&lt;/jdkToolchain&gt;</span>
    <span class="tag">&lt;/configuration&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>Gradle の場合:</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.10.0'
    }
}
apply plugin: 'liberty'


java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
        // オプション: ベンダーを指定
        // vendor = JvmVendorSpec.ADOPTIUM
    }
}</code></pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="bugs">このリリースで修正された注目すべきバグ</h2>
<div class="sectionbody">
<div class="paragraph">
<p>バグ修正に時間を費やしました。以下のセクションでは、このリリースで解決された問題について説明します。興味がある場合は、<a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26002+label%3A%22release+bug%22">26.0.0.2 で修正されたバグの完全なリスト</a> をご覧ください。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33927">IBM WebSphere Application Server Liberty がリモート・コード実行の脆弱性の影響を受ける (CVE-2025-14914 CVSS 7.6)</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/32996">Java 24 以降、console.log に "WARNING: package sun.security.action not in java.base" が表示される</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-26-0-0-2-を今すぐ入手">Open Liberty 26.0.0.2 を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven、Gradle、Docker、およびダウンロード可能なアーカイブ</a> から入手できます。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="release" /><category term="maven" /><category term="gradle" /><category term="java-ee" /></entry><entry><title type="html">26.0.0.1 でのログ・スロットリングと注目すべきバグ修正</title><link href="https://openliberty.io/ja/blog/2026/01/27/26.0.0.1.html" rel="alternate" type="text/html" title="26.0.0.1 でのログ・スロットリングと注目すべきバグ修正" /><published>2026-01-27T00:00:00+00:00</published><updated>2026-01-27T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2026/01/27/26.0.0.1</id><content type="html" xml:base="https://openliberty.io/ja/blog/2026/01/27/26.0.0.1.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、Open Liberty にログ・スロットリング機能が導入され、過度に繰り返されるログメッセージを自動的に抑制することで、開発者がノイズを削減し、大量のログをより効果的に管理できるようになりました。</p>
</div>
<div class="paragraph">
<p><a href="/">Open Liberty</a> 26.0.0.1 の内容:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#logging">ログ・スロットリング</a></p>
</li>
<li>
<p><a href="#bugs">注目すべきバグ修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>ランタイムに追加された新機能に加えて、<a href="#guides">ガイドの更新</a> も行いました。</p>
</div>
<div class="paragraph">
<p>26.0.0.1 で修正されたバグのリストは <a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26001+label%3A%22release+bug%22">こちら</a> です。</p>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前の Open Liberty GA リリースのブログ投稿</a> もチェックして下さい。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">26.0.0.1 でアプリを開発して実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p>もし <a href="/guides/maven-intro.html">Maven</a> を使用しているなら、<code>pom.xml</code> に以下を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.5<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a> を使用している場合は、<code>build.gradle</code> ファイルに以下を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.6'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/docs/latest/container-images.html">コンテナ・イメージ</a> を使用している場合は、以下のようにします。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/start/">ダウンロード・ページ</a> をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>、または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> を使用している場合は、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty 開発者ツール</a> を利用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflow で質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="logging">ログ・スロットリング</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Open Liberty のロギング機能にログ・スロットリングが導入されました。これまで開発者には、大量のメッセージを抑制する方法がありませんでした。この新機能は、同じログイベントが短時間に繰り返し発生した場合に、過度なログ出力を防ぐのに役立ちます。</p>
</div>
<div class="paragraph">
<p>スロットリング機能はデフォルトで有効になっています。有効にすると、Liberty はスライディングウィンドウを使用して各 messageID を追跡します。デフォルトでは、5 分間に 1,000 回を超えて繰り返される messageID は抑制されます。スロットリングが開始されると、スロットリング警告がログに記録されます。</p>
</div>
<div class="paragraph">
<p>ログ・スロットリングは、<code>throttleType</code> ロギング属性を使用して、メッセージまたは messageID に基づいてメッセージを抑制するように構成できます。スロットリングが開始される前に許可されるメッセージの数は、<code>throttleMaxMessagesPerWindow</code> 属性を使用して構成できます。</p>
</div>
<div class="paragraph">
<p>ログ・スロットリングは、<code>throttleMaxMessagesPerWindow</code> を <code>0</code> に設定することで無効にできます。</p>
</div>
<div class="paragraph">
<p>現在、これらの属性は次のように構成できます。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>server.xml</code> の場合:</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;logging</span> <span class="attribute-name">throttleMaxMessagesPerWindow</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">5000</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">throttleType</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">messageID</span><span class="delimiter">&quot;</span></span> <span class="tag">/&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<p><code>bootstrap.properties</code> の場合:</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="properties">com.ibm.ws.logging.throttle.max.messages.per.window=5000
com.ibm.ws.logging.throttle.type=messageID</code></pre>
</div>
</div>
</li>
<li>
<p><code>server.env</code> の場合:</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="env">WLP_LOGGING_THROTTLE_MAX_MESSAGES_PER_WINDOW=5000
WLP_LOGGING_THROTTLE_TYPE=messageID</code></pre>
</div>
</div>
</li>
</ul>
</div>
<div class="sect2">
<h3 id="message-と-messageid-の違い">message と messageID の違い:</h3>
<div class="paragraph">
<p>次のログイベントの例を考えてみましょう: <code>TEST0111I: Hello World!</code></p>
</div>
<div class="paragraph">
<p><code>throttleType</code> が <code>messageID</code> に設定されている場合、スロットリングは messageID の発生回数のみに基づいて適用されます。この例では、<code>TEST0111I</code> がスロットリングに使用されます。</p>
</div>
<div class="paragraph">
<p><code>throttleType</code> が <code>message</code> に設定されている場合、スロットリングはメッセージ全体に適用されます。メッセージ内容のバリエーションは個別に追跡されます。この例では、<code>TEST0111I: Hello World!</code> がスロットリングに使用されます。</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="bugs">このリリースで修正された注目すべきバグ</h2>
<div class="sectionbody">
<div class="paragraph">
<p>バグ修正に時間を費やしました。以下のセクションでは、このリリースで解決された問題の一部について説明します。興味がある場合は、<a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A26001+label%3A%22release+bug%22">26.0.0.1 で修正されたバグの完全なリスト</a> をご覧ください。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33686">SocketRWChannelSelector で NullPointerException が発生する</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33617">IBM WebSphere Application Server Liberty がクロスサイトスクリプティングの影響を受ける (CVE-2025-12635 CVSS 5.4)</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33609">wlp パスワードキーのデコードに失敗する可能性がある</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33571">mpOpenAPI が x-ibm-zcon-roles-allowed を正しくマージしない</a></p>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33561">Server package &lt;server&gt; --include=minify が Liberty の FIPS プロパティファイルを含まない</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="guides">前回のリリース以降の新規および更新されたガイド</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Open Liberty の機能が成長し続けるにつれて、それらのトピックに関する <a href="https://openliberty.io/guides/?search=new&amp;key=tag">新しいガイドを openliberty.io に</a> 追加し続けており、採用を可能な限り簡単にしています。</p>
</div>
<div class="paragraph">
<p><a href="https://openliberty.io/guides/#observability">Observability</a> カテゴリーの下に 2 つの新しいガイドが公開されました。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://openliberty.io/guides/microprofile-telemetry-grafana-automatic.html">OpenTelemetry と Grafana を使用したトレース、メトリクス、ログによるマイクロサービスの可観測性の有効化</a></p>
</li>
<li>
<p><a href="https://openliberty.io/guides/microprofile-telemetry-grafana-custom.html">OpenTelemetry と Grafana を使用したマイクロサービスの可観測性のためのカスタムトレースとメトリクスの追加</a></p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-26-0-0-1-を今すぐ入手">Open Liberty 26.0.0.1 を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven、Gradle、Docker、およびダウンロード可能なアーカイブ</a> から入手できます。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="release" /><category term="monitoring" /></entry><entry><title type="html">25.0.0.12 で独自の AES-256 キーの持ち込みと、IBM Semeru Runtimes による FIPS 140-3 のサポート</title><link href="https://openliberty.io/ja/blog/2025/12/02/25.0.0.12.html" rel="alternate" type="text/html" title="25.0.0.12 で独自の AES-256 キーの持ち込みと、IBM Semeru Runtimes による FIPS 140-3 のサポート" /><published>2025-12-02T00:00:00+00:00</published><updated>2025-12-02T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2025/12/02/25.0.0.12</id><content type="html" xml:base="https://openliberty.io/ja/blog/2025/12/02/25.0.0.12.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、サポートされている IBM Semeru Runtime バージョン（11.0.29、17.0.17、21.0.9、25.0.1 以降）で Liberty を実行する際の FIPS 140-3 準拠が追加されます。</p>
</div>
<div class="paragraph">
<p>In <a href="/">Open Liberty</a> 25.0.0.12:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#aes256">独自の AES-256 キーの持ち込み</a></p>
</li>
<li>
<p><a href="#fips">IBM Semeru Runtimes による FIPS 140-3 のサポート</a></p>
</li>
<li>
<p><a href="#CVEs">セキュリティ脆弱性（CVE）の修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>25.0.0.12 で修正されたバグのリストは <a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A250012+label%3A%22release+bug%22">こちら</a> です。</p>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前の Open Liberty GA リリースのブログ投稿</a> もチェックして下さい。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">25.0.0.12 でアプリを開発して実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p>もし <a href="/guides/maven-intro.html">Maven</a> を使用しているなら、<code>pom.xml</code> に以下を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.5<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a> を使用している場合は、<code>build.gradle</code> ファイルに以下を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.6'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/docs/latest/container-images.html">コンテナ・イメージ</a> を使用する場合は以下です。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>もしくは <a href="/start/">ダウンロード・ページ</a> をご覧下さい。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a> または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> を使用している場合、これらの IDE で効率的な開発・テスト・デバッグとアプリケーション管理のすべてを実行するために、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty Tools</a> を利用することができます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflow で質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="aes256">独自の AES-256 キーの持ち込み</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Liberty では、パスワード暗号化のために Base64 エンコードされた 256 ビット AES キーを提供できるようになりました。</p>
</div>
<div class="sect2">
<h3 id="新機能">新機能</h3>
<div class="paragraph">
<p>以前、Liberty は <code>wlp.password.encryption.key</code> プロパティをサポートしており、パスワードを受け取り、計算集約的なプロセスを通じて AES キーを導出していました。この導出には、ソルトを使用した繰り返しハッシュが多数の反復にわたって含まれており、サーバー起動時にオーバーヘッドが追加されていました。</p>
</div>
<div class="paragraph">
<p>現在では、事前に生成された AES キーを直接提供できるようになりました。これにより導出ステップが不要になり、起動時間が短縮され、パスワードの暗号化と復号化時のランタイム・パフォーマンスが向上します。</p>
</div>
</div>
<div class="sect2">
<h3 id="有効化の方法">有効化の方法</h3>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><strong>256 ビット AES キーの取得</strong></p>
<div class="paragraph">
<p>セキュリティ・インフラストラクチャから 256 ビット AES キーを取得するか、<code>securityUtility generateAESKey</code> コマンドを使用して生成できます。</p>
</div>
<div class="paragraph">
<p><code>securityUtility</code> を使用して 256 ビット AES キーを生成するには、新しい <code>securityUtility generateAESKey</code> タスクを実行します：</p>
</div>
<div class="ulist">
<ul>
<li>
<p>ランダムな AES キーを生成する：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">./securityUtility generateAESKey</code></pre>
</div>
</div>
</li>
<li>
<p>オプションで、ランダムな AES キーを XML ファイルに保存する：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">  securityUtility generateAESKey --createConfigFile=myAesConfig.xml</code></pre>
</div>
</div>
</li>
<li>
<p>または、パスフレーズから非ランダムな AES キーを生成する：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">./securityUtility generateAESKey --key=&lt;password&gt;</code></pre>
</div>
</div>
</li>
<li>
<p>オプションで、パスフレーズから非ランダムな AES キーを生成し、XML ファイルに保存する：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">  securityUtility generateAESKey --key=&lt;password&gt; --createConfigFile=myAesConfig.xml</code></pre>
</div>
</div>
</li>
</ul>
</div>
</li>
<li>
<p><strong>Liberty でキーを設定する</strong></p>
<div class="paragraph">
<p><code>server.xml</code> ファイルで AES キーを直接設定するには、以下の変数定義を追加します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml">   <span class="tag">&lt;variable</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">wlp.aes.encryption.key</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">&lt;your_aes_key</span></span><span class="error">&gt;</span>&quot; /<span class="error">&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>または、外部設定ファイル（<code>generateAESKey --createConfigFile</code> で生成されたファイルなど）から AES キーをロードするには、以下の設定を使用してファイルをインクルードします。</p>
</div>
<div class="paragraph">
<p><strong>注意：</strong> インクルードされるファイルには、前述のように <code>wlp.aes.encryption.key</code> の変数定義が含まれている必要があります。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml">    <span class="tag">&lt;include</span> <span class="attribute-name">location</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">/path/to/myAesConfig.xml</span><span class="delimiter">&quot;</span></span> <span class="tag">/&gt;</span></code></pre>
</div>
</div>
</li>
<li>
<p><strong>パスワードを暗号化する</strong></p>
<div class="paragraph">
<p><code>securityUtility encode</code> コマンドを実行して、AES-256 キーを使用するパスワードを暗号化できます：</p>
</div>
<div class="ulist">
<ul>
<li>
<p>キーを直接提供する：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">securityUtility encode --encoding=aes --base64Key=&lt;your_base64_key&gt; &lt;password&gt;</code></pre>
</div>
</div>
</li>
<li>
<p>AES キー変数を含む XML または Java プロパティ・ファイルを使用するには、<code>--aesConfigFile</code> オプションを指定します：</p>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="bash">securityUtility encode --encoding=aes --aesConfigFile=&lt;xml_or_properties_file_path&gt; &lt;password&gt;</code></pre>
</div>
</div>
</li>
</ul>
</div>
</li>
<li>
<p><strong>設定を更新する</strong></p>
<div class="paragraph">
<p>結果として得られた暗号化された値を Liberty 設定にコピーします。</p>
</div>
</li>
</ol>
</div>
<hr>
<div class="paragraph">
<p><strong>パフォーマンスのヒント：</strong> 最高のパフォーマンスを得るには、新しい AES-256 キーを使用してすべてのパスワードを再暗号化してください。Open Liberty は古いパスワード形式をサポートしていますが、完全な移行により一貫した起動パフォーマンスが提供されます。</p>
</div>
<div class="paragraph">
<p>AES 暗号化をサポートする Liberty コマンドは、以下のオプションを受け入れます：</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>--base64Key</code> または <code>--passwordBase64Key</code>：Base64 エンコードされた AES-256 キーを直接提供します。</p>
</li>
<li>
<p><code>--aesConfigFile</code>：<code>wlp.aes.encryption.key</code> または <code>wlp.password.encryption.key</code> を定義する設定ファイルを提供します。</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>その他のコマンドライン・タスクも、同様の方法で Base64 キーと AES 設定ファイルを受け入れるように更新されています：</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>securityUtility</code></p>
<div class="ulist">
<ul>
<li>
<p><code>createSSLCertificate</code></p>
</li>
<li>
<p><code>createLTPAKeys</code></p>
</li>
<li>
<p><code>encode</code></p>
</li>
</ul>
</div>
</li>
<li>
<p><code>configUtility</code></p>
<div class="ulist">
<ul>
<li>
<p><code>install</code></p>
</li>
</ul>
</div>
</li>
<li>
<p><code>collective</code></p>
<div class="ulist">
<ul>
<li>
<p><code>create</code></p>
</li>
<li>
<p><code>join</code></p>
</li>
<li>
<p><code>replicate</code></p>
</li>
</ul>
</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="fips">IBM Semeru Runtimes による FIPS 140-3 のサポート</h2>
<div class="sectionbody">
<div class="paragraph">
<p>FIPS 140-3 は FIPS 140 標準の最新バージョンであり、暗号化モジュールのセキュリティと整合性を確保するための一連のガイドラインを提供します。FIPS 140-3 のサポートは、バージョン <a href="https://openliberty.io/blog/2025/03/25/25.0.0.3.html">25.0.0.3</a> で IBM JDK 8 を使用した Liberty で初めて導入されました。このリリースでは、Open Liberty は <a href="https://developer.ibm.com/languages/semeru-runtimes">IBM Semeru Runtimes</a> バージョン 11.0.29、17.0.17、21.0.9、25.0.1 以降を使用する際に FIPS 140-3 標準をサポートします。</p>
</div>
<div class="sect2">
<h3 id="fips-140-3-の有効化">FIPS 140-3 の有効化</h3>
<div class="paragraph">
<p><code>securityUtility</code> には、FIPS 140-3 を有効にするための configureFIPS という新しいタスクがあります。この新しいタスクは、IBM Semeru Runtimes と IBM SDK 8 の両方に適用されます。</p>
</div>
<div class="paragraph">
<p><code>configureFIPS</code> タスクは 3 つのレベルで動作します：</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>Install</p>
</li>
<li>
<p>Server</p>
</li>
<li>
<p>Client</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>すべてのサーバー、クライアント、およびツール全体で有効にするには、以下を実行して Install レベルで FIPS 140-3 を有効にできます：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>securityUtility configureFIPS</code></pre>
</div>
</div>
<div class="paragraph">
<p>特定のサーバーを有効化または設定するには、以下を実行します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>securityUtility configureFIPS --server=&lt;server name&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>特定のクライアントを有効化または設定するには、以下を実行します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>securityUtility configureFIPS --client=&lt;client name&gt;</code></pre>
</div>
</div>
<div class="paragraph">
<p>IBM Semeru Runtimes の場合、これらのコマンドは FIPS 有効化要件を設定し、アプリケーションの必要な制約を設定するために編集できる Java セキュリティ・プロパティ・ファイルを作成します。
制約の設定の詳細については、<a href="https://www.ibm.com/support/pages/node/7113528#creatingextensionsofprofiles">プロファイルの拡張の作成</a> に関するドキュメントを参照してください。</p>
</div>
<div class="paragraph">
<p>特定の場所または特定の名前でプロファイルを作成するには、<code>--customProfileFile=&lt;file path (or paths) separated by the OS-specific path separator&gt;</code> 引数を指定でき、編集可能なファイルが作成されます。ファイルの名前がプロファイルの名前として使用されます。設定は、提供されたファイルを指すように設定されます。
プロパティには複数のファイルを指定できます。すべてのファイルが作成され、前のファイルを拡張し、指定された最後のファイルがチェーンの最後になります。</p>
</div>
<div class="paragraph">
<p><code>securityUtility configureFIPS</code> コマンドの一部として <code>--customProfileFile</code> を指定しない場合、ファイルは以下の場所に作成されます。場所は、サーバーまたはクライアントを指定したかどうかによって異なります。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>サーバーもクライアントも指定されていない場合 <code>&lt;Liberty install location&gt;/wlp/etc/FIPS140-3-Liberty-Application.properties</code></p>
</li>
<li>
<p>サーバーが指定されている場合 <code>&lt;server root&gt;/resources/security/FIPS140-3-Liberty-Application.properties</code></p>
</li>
<li>
<p>クライアントが指定されている場合 <code>&lt;client root&gt;/resources/security/FIPS140-3-Liberty-Application.properties</code></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>有効化されている必要なレベルで FIPS 140-3 を無効にするには、コマンドに以下のオプションを追加します。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>--disable</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="ltpa">LTPA</h3>
<div class="paragraph">
<p>FIPS 140-3 が有効になっている場合、サーバーは FIPS 140-3 承認の暗号化アルゴリズムを使用して生成された LTPA キーのみをロードできます。LTPA シングル・サインオン（SSO）を機能させるには、ユーザーはすべてのサーバーで FIPS 140-3 を使用するように設定する必要があります。設定の詳細については、<a href="https://www.ibm.com/docs/en/was-liberty/base?topic=liberty-configuring-ltpa-in">ドキュメント</a> を参照してください。</p>
</div>
<div class="paragraph">
<p>FIPS 140-3 が有効化された後にサーバーが再起動されると、FIPS 承認アルゴリズムで生成された新しい <code>ltpa.keys</code> ファイルが自動的に作成されます。FIPS 140-3 が有効化される前に作成された既存の <code>ltpa.keys</code> ファイルは、<code>ltpa.keys.nofips</code> にバックアップされます。
お客様は、FIPS 140-3 が有効化される前に作成された検証キー・ファイルを再作成するために、securityUtility <code>createLTPAKeys</code> コマンドを使用する必要があります。</p>
</div>
<div class="sect3">
<h4 id="securityutility-を使用した新しい-fips-承認-ltpa-キーの作成">securityUtility を使用した新しい FIPS 承認 LTPA キーの作成：</h4>
<div class="paragraph">
<p>securityUtility コマンドの <code>createLTPAKeys</code> オプションを使用して LTPA キーを作成することもできます。FIPS 140-3 承認アルゴリズムで LTPA キーを生成するには、インストール・レベルで FIPS 140-3 を設定します。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>securityUtility createLTPAKeys --password=mypassword --passwordEncoding=aes</code></pre>
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="saml">SAML</h3>
<div class="paragraph">
<p>Liberty SAML Web Browser SSO 暗号化は、IBM Semeru FIPS 140-3 認定の ECDH-ES キー交換をサポートするようになりました。
Liberty は、<code>SHA256</code>、<code>SHA384</code>、<code>SHA512</code>、および <code>ECDSAwithSHA256</code>、<code>ECDSAwith384</code>、<code>ECDSAwith512</code> を含む、SAML のより強力な署名アルゴリズムをサポートするようになりました。</p>
</div>
</div>
<div class="sect2">
<h3 id="fips-140-3-モードが有効な場合にサポートされる署名メソッドアルゴリズムオプション">FIPS 140-3 モードが有効な場合にサポートされる署名メソッド・アルゴリズム・オプション</h3>
<div class="paragraph">
<p><strong>サポート対象：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>SHA256</p>
</li>
<li>
<p>SHA384（25.0.0.12 以降）</p>
</li>
<li>
<p>SHA512（25.0.0.12 以降）</p>
</li>
<li>
<p>ECDSAwithSHA256（25.0.0.12 以降）</p>
</li>
<li>
<p>ECDSAwithSHA384（25.0.0.12 以降）</p>
</li>
<li>
<p>ECDSAwithSHA512（25.0.0.12 以降）</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>サポート対象外：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>SHA1</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>使用例</strong></p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>&lt;samlWebSso20 id=&quot;defaultSP&quot; signatureMethodAlgorithm=&quot;SHA256&quot; /&gt;</code></pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="fips-140-3-モードが有効な場合にサポートされる暗号化アルゴリズム">FIPS 140-3 モードが有効な場合にサポートされる暗号化アルゴリズム</h3>
<div class="paragraph">
<p><strong>サポート対象：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>ECDH-ES</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>サポート対象外：</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>SAML 暗号化が有効な場合の RSA-OAEP 暗号化キー転送。</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>注意：</strong> IBM Semeru ランタイムで使用されている FIPS モジュールは、将来のリリースで RSA-OAEP 操作を認定する予定です。</p>
</div>
</div>
<div class="sect2">
<h3 id="wssecurity-1-1">wsSecurity-1.1</h3>
<div class="paragraph">
<p><code>wsSecurity-1.1</code> フィーチャーは、ECDH-ES アルゴリズムを活用して、署名と暗号化のための楕円曲線キーの使用をサポートするようになりました。</p>
</div>
</div>
<div class="sect2">
<h3 id="アプリケーションの制約の定義">アプリケーションの制約の定義</h3>
<div class="paragraph">
<p>FIPS 140-3 が設定されている場合、Semeru ランタイムは、<a href="https://www.ibm.com/support/pages/node/7113528#restrictedsecuritymode">FIPS140-3-Strongly-Enforced 制限付きセキュリティ・モード・プロファイル</a> が有効になっているときに、サーバー全体で FIPS 140-3 承認アルゴリズムの使用を強制します。Semeru FIPS 140-3 の暗号化アルゴリズムの強制は、アルゴリズムの使用を区別しません。たとえば、メッセージ・ダイジェスト・ハッシュ（通常は 2 つの値を比較するために使用される）での <code>SHA1</code> の使用は FIPS 140-3 仕様で許可されていますが、<code>SHA1</code> の使用に区別がないため、Semeru FIPS 140-3 は依然として例外をスローします。例外が発生した場合は常に、原因を調査し、必要に応じてアルゴリズムを更新してください（この場合、たとえば <code>SHA-256</code> または <code>SHA-512</code> に）。問題が暗号化に関連しておらず、その使用が FIPS 140-3 仕様で許可されている場合は、許可された制約としてカスタム・プロファイルの例外リストに追加してください。</p>
</div>
<div class="paragraph">
<p>IBM Semeru は、プロファイルを使用して制約を適用し、Java セキュリティ・プロバイダーとアルゴリズムへのアクセスを許可して、FIPS 140-3 準拠を確保します。Strongly-enforced または Strict プロファイルがベースとして使用される場合、<code>SHA-1</code> などのアルゴリズムは、制約が追加されて許可されるまで、どのアプリケーション・クラスでも使用できません。</p>
</div>
<div class="paragraph">
<p><code>SHA-1</code> などの非 FIPS 140-3 メッセージ・ダイジェストを使用している場合、次のような例外が表示される場合があります：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>java.security.NoSuchAlgorithmException: SHA1 MessageDigest not available
        at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
        at java.base/java.security.MessageDigest.getInstance(MessageDigest.java:185)
  at io.openliberty.fips.test.application.ObjectComparator.compareObjects(ObjectComparator.java:463)</code></pre>
</div>
</div>
<div class="paragraph">
<p>アプリケーションがオブジェクトを比較しているため、<code>SHA-1</code> を使用できます。</p>
</div>
<div class="paragraph">
<p>FIPS を有効にする一環として作成されたプロパティ・ファイルで、アルゴリズムを提供するプロバイダーの下に制約を追加できます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3-Liberty-Application.jce.provider.1 = com.ibm.crypto.plus.provider.OpenJCEPlusFIPS [+ \
    {MessageDigest, SHA-1, *, FullClassName:io.openliberty.fips.test.application.ObjectComparator}]</code></pre>
</div>
</div>
<div class="paragraph">
<p><strong>注意：</strong> 例外では <code>SHA1</code> が欠落していると述べられていますが、アルゴリズムの名前は <code>SHA-1</code> であり、<code>SHA1</code> はそのエイリアスです。</p>
</div>
<div class="paragraph">
<p>アプリケーションに Java セキュリティ・プロバイダーが含まれている場合、または <code>FIPS140-3-Liberty</code> または <code>FIPS140-3-Strongly-Enforced</code> プロファイルにまだ登録されていない新しいプロバイダーを追加する必要がある場合は、FIPS セキュリティ・プロパティ・ファイルにも含める必要があります。</p>
</div>
<div class="paragraph">
<p>次のようにプロバイダーを追加できます：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3-Liberty-Application.jce.provider.51 = io.openliberty.fips.test.custom.SecurityProvider</code></pre>
</div>
</div>
<div class="paragraph">
<p>プロバイダーの定義内に制約を指定しない場合、そのプロバイダーが提供するすべてのアルゴリズムがランタイム内のすべてのクラスで使用可能になります。さらに、追加する新しいプロバイダーは、プロバイダー位置 51 から配置する必要があります。</p>
</div>
<div class="paragraph">
<p><a href="https://www.ibm.com/support/pages/fips-140-3-cryptography-ibm-semeru-runtimes">FIPS 140-3 サポート</a> および <a href="https://openliberty.io/docs/latest/reference/config/samlWebSso20.html">SAML Web Browser SSO</a> の詳細については、ドキュメントを参照してください。</p>
</div>
<div class="paragraph">
<p>また、いくつかの異なるシナリオで追加する必要がある制約の例については、<a href="https://www.ibm.com/docs/en/was-liberty/nd?topic=liberty-troubleshooting-fips-140-3">トラブルシューティング</a> セクションを参照してください。</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CVEs">このリリースでのセキュリティ脆弱性（CVE）の修正</h2>
<div class="sectionbody">
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">CVE</th>
<th class="tableblock halign-left valign-top">CVSS スコア</th>
<th class="tableblock halign-left valign-top">脆弱性評価</th>
<th class="tableblock halign-left valign-top">影響を受けるバージョン</th>
<th class="tableblock halign-left valign-top">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-7962">CVE-2025-7962</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">7.5</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">SMTP インジェクション</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-25.0.0.11</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>javaMail-1.5</code>、<code>javaMail-1.6</code>、<code>mail-2.0</code>、<code>mail-2.1</code> フィーチャーに影響</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>過去のセキュリティ脆弱性修正のリストについては、<a href="/docs/latest/security-vulnerabilities.html">セキュリティ脆弱性（CVE）リスト</a> を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="今すぐ-open-liberty-25-0-0-12-を入手する">今すぐ Open Liberty 25.0.0.12 を入手する</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven, Gradle, Docker, そしてダウンロード可能なアーカイブ</a> から可能です。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="release" /><category term="security" /><summary type="html"><![CDATA[このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、サポートされている IBM Semeru Runtime バージョン（11.0.29、17.0.17、21.0.9、25.0.1 以降）で Liberty を実行する際の FIPS 140-3 準拠が追加されます。]]></summary></entry><entry><title type="html">25.0.0.11 における注目すべきバグ修正</title><link href="https://openliberty.io/ja/blog/2025/11/04/25.0.0.11.html" rel="alternate" type="text/html" title="25.0.0.11 における注目すべきバグ修正" /><published>2025-11-04T00:00:00+00:00</published><updated>2025-11-04T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2025/11/04/25.0.0.11</id><content type="html" xml:base="https://openliberty.io/ja/blog/2025/11/04/25.0.0.11.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>この GA リリースには、安定性を向上させ、パフォーマンスを改善し、よりスムーズなユーザー・エクスペリエンスを提供する重要なバグ修正が含まれています。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#bugs">注目すべきバグ修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前の Open Liberty GA リリースのブログ投稿</a> もチェックして下さい。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">25.0.0.11 でアプリを開発して実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p>もし <a href="/guides/maven-intro.html">Maven</a> を使用しているなら、<code>pom.xml</code> に以下を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.5<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a> を使用している場合は、<code>build.gradle</code> ファイルに以下を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.5'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/docs/latest/container-images.html">コンテナ・イメージ</a> を使用する場合は以下です。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>もしくは <a href="/start/">ダウンロード・ページ</a> をご覧下さい。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a> または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> を使用している場合、これらの IDE で効率的な開発・テスト・デバッグとアプリケーション管理のすべてを実行するために、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty Tools</a> を利用することができます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflow で質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="bugs">このリリースで修正された注目すべきバグ</h2>
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、いくつかのバグが修正されました。以下のセクションでは、解決された主要な問題のいくつかを紹介します。修正の完全なリストについては、<a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A250011+label%3A%22release+bug%22">25.0.0.11 で修正されたバグの完全なリスト</a> をご覧ください。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/33098">JSON レコードが改行で終わる場合に <code>appsWriteJSON</code> が正しく動作しない</a></p>
<div class="paragraph">
<p>Logback ロギング・フレームワークを使用し、ロガーがメッセージを JSON 形式に変換するエンコーダー（例：<code>co.elastic.logging.logback.EcsEncoder</code>）を使用して <code>STDOUT</code> にロギング・イベントをルーティングするように設定されている場合、メッセージ全体は <em>改行</em> で終わります。</p>
</div>
<div class="paragraph">
<p><code>appsWriteJson</code> 設定が true に設定されている OpenLiberty サーバーと組み合わせた場合、期待される動作は、Logback から出力される JSON が、通常の Open Liberty JSON ログ出力の <code>message</code> 値内にラップされないことです。しかし、実際にはラップされてしまいます。</p>
</div>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/32999">マルチパート・データの非同期呼び出しにおける例外を修正</a></p>
<div class="paragraph">
<p>MicroProfileRestClient の非同期で multipart/form-data を送信すると、以下の例外が発生します。</p>
</div>
<div class="paragraph">
<p><code>java.util.concurrent.CompletionException: jakarta.ws.rs.ProcessingException: RESTEASY004655: Unable to invoke request: jakarta.ws.rs.WebApplicationException: Unexpected entity instance: org.jboss.resteasy.plugins.providers.multipart.ResteasyEntityPartBuilder$EntityPartImpl</code></p>
</div>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/32954">AutoDecompress が正しく動作しない</a></p>
<div class="paragraph">
<p>圧縮されたボディを持つ POST リクエストで、以下の例外が発生します。</p>
</div>
<div class="paragraph">
<p><code>SRVE0216E: post body contains less bytes than specified by content-length</code></p>
</div>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/32908">設計上の問題：英数字以外の文字を含むサーバー名での <code>server create</code> の動作が一貫していない</a></p>
<div class="paragraph">
<p><code>./server create &#8230;&#8203;</code> を使用してサーバーを作成する際、サーバー名に英数字以外の文字（ドキュメントで指定されていない文字）が含まれている場合、動作が一貫していません。</p>
</div>
<div class="paragraph">
<p>例えば：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>./server create 'this£server'</code></pre>
</div>
</div>
<div class="paragraph">
<p>は以下を返します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>CWWKE0005E: The runtime environment could not be launched.
CWWKE0012E: The specified server name contains a character that is not valid (name=this£server). Valid characters are: Unicode alphanumeric (e.g. 0-9, a-z, A-Z), underscore (_), dash (-), plus (+), and period (.). A server name cannot begin with a dash (-) or period (.).</code></pre>
</div>
</div>
<div class="paragraph">
<p>しかし</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>./server create 'this$server'</code></pre>
</div>
</div>
<div class="paragraph">
<p>は以下を返します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>Server this created.</code></pre>
</div>
</div>
<div class="paragraph">
<p>また、サーバー名に空白が含まれている場合、サーバー名が引用符で囲まれているかどうかに関わらず、最初の空白の前のテキストを使用してサーバーが作成されます。例えば：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>./server create 'this server'</code></pre>
</div>
</div>
<div class="paragraph">
<p>は以下を返します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>CWWKE0027W: Only one server may be specified on the command line; subsequent names will be ignored (server=this, ignored=server).
Server this created.</code></pre>
</div>
</div>
</li>
<li>
<p><a href="https://github.com/OpenLiberty/open-liberty/issues/31628">カスタム Subject がキャッシュにない場合の継続的な認証をサポート</a></p>
<div class="paragraph">
<p>シングル・サインオン（SSO）環境では、ユーザーは特定の管理タスクを実行するために、アプリケーション内で一時的に権限を管理者レベルに昇格させる必要がある場合があります。しかし、AuthenticationException によってこのシナリオが正常に機能しません。</p>
</div>
<div class="paragraph">
<p>この問題は、LTPA（Lightweight Third-Party Authentication）トークンが有効であるにもかかわらず発生します - トークンは正常に復号化および解析でき、有効期限と署名の両方が適切に検証されます。</p>
</div>
<div class="paragraph">
<p>認証の失敗は、WebSphere Liberty サーバーが認証キャッシュ内で昇格されたユーザーの Subject を見つけることができないために発生し、権限昇格プロセス中に認証が失敗します。</p>
</div>
<div class="paragraph">
<p>この制限により、同じ SSO セッション内で一時的な権限昇格が必要なシナリオでの正当な管理操作が妨げられます。</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="今すぐ-open-liberty-25-0-0-11-を入手する">今すぐ Open Liberty 25.0.0.11 を入手する</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven, Gradle, Docker, そしてダウンロード可能なアーカイブ</a> から可能です。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="release" /><summary type="html"><![CDATA[この GA リリースには、安定性を向上させ、パフォーマンスを改善し、よりスムーズなユーザー・エクスペリエンスを提供する重要なバグ修正が含まれています。]]></summary></entry><entry><title type="html">25.0.0.10におけるアプリケーションクラスローダーでのオーバーライドライブラリのサポートとJava 25のサポート</title><link href="https://openliberty.io/ja/blog/2025/10/07/25.0.0.10.html" rel="alternate" type="text/html" title="25.0.0.10におけるアプリケーションクラスローダーでのオーバーライドライブラリのサポートとJava 25のサポート" /><published>2025-10-07T00:00:00+00:00</published><updated>2025-10-07T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2025/10/07/25.0.0.10</id><content type="html" xml:base="https://openliberty.io/ja/blog/2025/10/07/25.0.0.10.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースでは、アプリケーションを再ビルドせずに修正できるアプリケーションクラスローダーでのオーバーライドライブラリのサポートが導入されています。また、最新の長期サポート（LTS）リリースであるJava 25との互換性も追加されています。</p>
</div>
<div class="paragraph">
<p><a href="/">Open Liberty</a> 25.0.0.10では:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#overrideLibrary">アプリケーションクラスローダーでのオーバーライドライブラリのサポート</a></p>
</li>
<li>
<p><a href="#java_25">Java 25のサポート</a></p>
</li>
<li>
<p><a href="#CVEs">セキュリティ脆弱性（CVE）の修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A250010+label%3A%22release+bug%22">25.0.0.10</a> で修正されたバグのリストをご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前のOpen Liberty GAリリースのブログ記事</a> をチェックしてください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">25.0.0.10を使用したアプリケーションの開発と実行</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a> を使用している場合は、 <code>pom.xml</code> ファイルに以下を含めてください:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.5<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/guides/gradle-intro.html">Gradle</a> の場合は、 <code>build.gradle</code> ファイルに以下を含めてください:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.5'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/docs/latest/container-images.html">コンテナイメージ</a> を使用している場合:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/start/">ダウンロードページ</a> をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>、または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a> を使用している場合は、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty開発ツール</a> を活用して、IDE内での効果的な開発、テスト、デバッグ、アプリケーション管理を行うことができます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack.svg" alt="Open Libertyについて質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="overrideLibrary">アプリケーションクラスローダーでのオーバーライドライブラリのサポート</h2>
<div class="sectionbody">
<div class="paragraph">
<p>このGAリリースでは、オーバーライドライブラリ参照を設定するために使用できるアプリケーションの <code>&lt;classloader/&gt;</code> を設定するための新しいタイプのライブラリ参照が導入されています。オーバーライドライブラリ参照は、クラスインスタンスがアプリケーションのクラスローダーに固有のままであるため、プライベートライブラリ参照に似ています。主な違いは検索順序です。オーバーライドライブラリ参照では、ライブラリクラスパスはアプリケーション自身のクラスパスの前に検索されます。したがって、オーバーライドライブラリを使用すると、ライブラリパスがアプリケーションに既に含まれているクラスをオーバーライドできます。</p>
</div>
<div class="paragraph">
<p>例えば、 <code>&lt;webApplication/&gt;</code> に <code>org.acme.needs.fix.SomeImpl</code> のような修正が必要なクラスが含まれているとします。アプリケーションを再ビルドして修正を含めることが難しい、または望ましくない場合は、修正されたクラスファイルを含む新しいライブラリJAR（例： <code>someImplFix.jar</code> ）をビルドします。以下の <code>server.xml</code> 設定は、アプリケーションを再ビルドせずに修正を適用するために <code>overrideLibraryRef</code> を使用する方法を示しています:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;webApplication</span> <span class="attribute-name">location</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">appThatNeedsFix.war</span><span class="delimiter">&quot;</span></span><span class="tag">&gt;</span>
    <span class="tag">&lt;classloader</span> <span class="attribute-name">overrideLibraryRef</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">someImplFix</span><span class="delimiter">&quot;</span></span><span class="tag">/&gt;</span>
<span class="tag">&lt;/webApplication&gt;</span>

<span class="tag">&lt;library</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">someImplFix</span><span class="delimiter">&quot;</span></span><span class="tag">&gt;</span>
     <span class="tag">&lt;path</span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">someImplFix.jar</span><span class="delimiter">&quot;</span></span><span class="tag">/&gt;</span>
<span class="tag">&lt;/library&gt;</span></code></pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="java_25">Java 25のサポート</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Java 25は、最新の長期サポート（LTS）リリースであり、以前のバージョンのJavaと比較して多くの新機能と拡張機能が含まれています。
<a href="https://openjdk.org/projects/jdk/25/">Java 25</a> には18の新機能（JEP）があります：6つはテスト機能で、12は完全に提供されています。</p>
</div>
<div class="paragraph">
<p><strong>テスト機能</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>470:    <a href="https://openjdk.org/jeps/470">暗号オブジェクトのPEMエンコーディング（プレビュー）</a></p>
</li>
<li>
<p>502:    <a href="https://openjdk.org/jeps/502">安定値（プレビュー）</a></p>
</li>
<li>
<p>505:    <a href="https://openjdk.org/jeps/505">構造化並行処理（第5プレビュー）</a></p>
</li>
<li>
<p>507:    <a href="https://openjdk.org/jeps/507">パターン、instanceof、およびスイッチでのプリミティブ型（第3プレビュー）</a></p>
</li>
<li>
<p>508:    <a href="https://openjdk.org/jeps/508">ベクトルAPI（第10インキュベータ）</a></p>
</li>
<li>
<p>509:    <a href="https://openjdk.org/jeps/509">JFR CPUタイムプロファイリング（実験的）</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><strong>提供済み機能</strong></p>
</div>
<div class="ulist">
<ul>
<li>
<p>503:    <a href="https://openjdk.org/jeps/503">32ビットx86ポートの削除</a></p>
</li>
<li>
<p>506:    <a href="https://openjdk.org/jeps/506">スコープ付き値</a></p>
</li>
<li>
<p>510:    <a href="https://openjdk.org/jeps/510">鍵導出関数API</a></p>
</li>
<li>
<p>511:    <a href="https://openjdk.org/jeps/511">モジュールインポート宣言</a></p>
</li>
<li>
<p>512:    <a href="https://openjdk.org/jeps/512">コンパクトソースファイルとインスタンスメインメソッド</a></p>
</li>
<li>
<p>513:    <a href="https://openjdk.org/jeps/513">柔軟なコンストラクタ本体</a></p>
</li>
<li>
<p>514:    <a href="https://openjdk.org/jeps/514">事前コンパイル（AOT）コマンドラインエルゴノミクス</a></p>
</li>
<li>
<p>515:    <a href="https://openjdk.org/jeps/515">事前コンパイル（AOT）メソッドプロファイリング</a></p>
</li>
<li>
<p>518:    <a href="https://openjdk.org/jeps/518">JFR協調サンプリング</a></p>
</li>
<li>
<p>519:    <a href="https://openjdk.org/jeps/519">コンパクトオブジェクトヘッダー</a></p>
</li>
<li>
<p>520:    <a href="https://openjdk.org/jeps/520">JFRメソッドタイミングとトレーシング</a></p>
</li>
<li>
<p>521:    <a href="https://openjdk.org/jeps/521">世代別Shenandoah</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Java 25で明示的なExecutorバッキングなしで <code>CompletableFuture</code> および <code>SubmissionPublisher</code> クラスを使用する場合、デフォルトでは <code>ForkJoinPool.commonPool</code> を使用します。このプールは、並列処理の値を利用可能なプロセッサ数から1を引いた値（利用可能なプロセッサ数 - 1）に設定します。2つ以下のプロセッサを持つシステムで実行されるアプリケーションは、Java 25がデフォルトで単一のスレッドのみを使用するため、並行処理の問題が発生する可能性があります。以前のJavaバージョンでは、 <code>ForkJoinPool</code> 共通プールの並列処理値が2未満の場合、JDKは各非同期タスクに対して新しいスレッドを作成していたため、これは問題ではありませんでした。</p>
</div>
<div class="paragraph">
<p>以下のアプローチのいずれかを使用して、この問題を回避できます:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>この制限のないLibertyのJakarta Concurrency実装で提供される <code>CompletableFuture</code> クラスを使用します。 <code>CompletableFuture</code> クラスを <a href="https://www.ibm.com/docs/en/was-liberty/core?topic=manually-configuring-managed-executors">DefaultManagedExecutorService</a> インスタンスと、<a href="https://jakarta.ee/specifications/concurrency/3.1/apidocs/jakarta.concurrency/jakarta/enterprise/concurrent/managedexecutorservice#supplyAsync(java.util.function.Supplier)">supplyAsync</a> メソッドまたは <a href="https://jakarta.ee/specifications/concurrency/3.1/apidocs/jakarta.concurrency/jakarta/enterprise/concurrent/managedexecutorservice#runAsync(java.lang.Runnable)">runAsync</a> メソッドのいずれかと一緒に使用できます。</p>
</li>
<li>
<p>システムプロパティ <code>-Djava.util.concurrent.ForkJoinPool.common.parallelism=N</code> （Nは必要な最小スレッド数）を使用して、 <code>ForkJoinPool.commonPool</code> の並列処理値を明示的に設定します。</p>
</li>
<li>
<p>明示的なバッキング <code>Executor</code> を使用します。</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>この変更の詳細については、以下のリンクを参照してください:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://bugs.openjdk.org/browse/JDK-8362881" class="bare">https://bugs.openjdk.org/browse/JDK-8362881</a></p>
</li>
<li>
<p><a href="https://bugs.openjdk.org/browse/JDK-8319447" class="bare">https://bugs.openjdk.org/browse/JDK-8319447</a></p>
</li>
<li>
<p><a href="https://bugs.openjdk.org/browse/JDK-8360593" class="bare">https://bugs.openjdk.org/browse/JDK-8360593</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Open LibertyでJava 25の変更を今すぐ活用し、お気に入りのサーバーランタイムでアプリケーション、マイクロサービス、ランタイム環境をレビューする時間を増やしましょう！</p>
</div>
<div class="paragraph">
<p><a href="https://adoptium.net/temurin/releases/?version=25">Java 25の最新リリースをダウンロード</a> し、<a href="https://openliberty.io/start/#runtime_releases">25.0.0.10</a> バージョンのOpen Libertyをダウンロードしてインストールし、LibertyサーバーのJAVA_HOMEをJava 25インストールディレクトリに設定した <a href="https://openliberty.io/docs/latest/reference/config/server-configuration-overview.html#server-env">server.env</a> ファイルを編集してテストを開始しましょう！</p>
</div>
<div class="paragraph">
<p>Java 25の詳細については、Java 25の <a href="https://jdk.java.net/25/release-notes">リリースノートページ</a> 、<a href="https://docs.oracle.com/en/java/javase/25/docs/api/index.html">API Javadocページ</a> 、または <a href="https://adoptium.net/temurin/releases/?version=25">ダウンロードページ</a> をご覧ください。
Open Libertyの詳細については、<a href="https://openliberty.io/docs">ドキュメントページ</a> をご覧ください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CVEs">このリリースでのセキュリティ脆弱性（CVE）の修正</h2>
<div class="sectionbody">
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">CVE</th>
<th class="tableblock halign-left valign-top">CVSSスコア</th>
<th class="tableblock halign-left valign-top">脆弱性評価</th>
<th class="tableblock halign-left valign-top">影響を受けるバージョン</th>
<th class="tableblock halign-left valign-top">注記</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2020-36732">CVE-2020-36732</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">5.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">セキュリティの弱体化</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-25.0.0.9</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>openidConnectServer-1.0</code> 機能に影響します</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>過去のセキュリティ脆弱性修正のリストについては、<a href="/docs/latest/security-vulnerabilities.html">セキュリティ脆弱性（CVE）リスト</a> を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-25-0-0-10を今すぐ入手">Open Liberty 25.0.0.10を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven、Gradle、Docker、およびダウンロード可能なアーカイブ</a> を通じて利用可能です。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="java-se" /><category term="release" /><category term="java-ee" /><summary type="html"><![CDATA[このリリースでは、アプリケーションを再ビルドせずに修正できるアプリケーションクラスローダーでのオーバーライドライブラリのサポートが導入されています。また、最新の長期サポート（LTS）リリースであるJava 25との互換性も追加されています。]]></summary></entry><entry><title type="html">ECDH-ES サポートを 25.0.0.9 の JWT Builder に追加</title><link href="https://openliberty.io/ja/blog/2025/09/09/25.0.0.9.html" rel="alternate" type="text/html" title="ECDH-ES サポートを 25.0.0.9 の JWT Builder に追加" /><published>2025-09-09T00:00:00+00:00</published><updated>2025-09-09T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2025/09/09/25.0.0.9</id><content type="html" xml:base="https://openliberty.io/ja/blog/2025/09/09/25.0.0.9.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>本リリースでは、JWT Builderに鍵管理アルゴリズムとしてECDH-ESのサポートが導入され、RSA-OAEPに代わるより安全な選択肢を提供します。</p>
</div>
<div class="paragraph">
<p>In <a href="/">Open Liberty</a> 25.0.0.9:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#ECDH_ES">JWT Builderに対するECDH-ESサポートの追加</a></p>
</li>
<li>
<p><a href="#CVEs">セキュリティ脆弱性(CVE)の修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>修正されたバグの一覧は、<a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A25009+label%3A%22release+bug%22">25.0.0.9のリリースノート</a>で確認できます。</p>
</div>
<div class="paragraph">
<p>その他の情報は、<a href="/blog/?search=release&amp;search!=beta">過去のOpen Liberty GAリリースブログ記事</a>をチェックしてください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">25.0.0.9 を使いアプリを開発・実行するには</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a> を使っている場合は、pom.xml に以下を含めてください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.5<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a> を使っている場合は、build.gradleに以下のように含めてください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.5'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>さらに、link:{url-prefix}/docs/latest/container-images.html[コンテナイメージ]を使う場合はこちら：</pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>あるいは、<a href="/start/">ダウンロードページ</a>をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、 <a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>、<a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a>に対しても、に対しても、<a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Open Liberty の開発者ツール</a>を使って IDE内からの開発・テスト・デバッグ・アプリ管理が可能です。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflowで質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ECDH_ES">JWT Builder に ECDH-ES サポートを追加する</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Open Liberty は JSON Web Token 1.0 (jwt-1.0) 機能を拡張し、jwtBuilder の鍵管理アルゴリズムとして ECDH-ES をサポートするようになりました。これにより、アプリ開発者は JSON Web Encryption (JWE) トークンの Content Encryption Key (CEK) を決定する際に、楕円曲線暗号を使えるようになります。これまでサポートされていた RSA-OAEP に比べ、よりモダンな代替手段を提供します。</p>
</div>
<div class="paragraph">
<p>ECDH-ES を使うには、keyManagementKeyAlias 属性で楕円曲線 (EC) 公開鍵のエイリアスを定義しておく必要があります。EC 公開鍵／秘密鍵ペアは securityUtility や keytool を使って作成できます。例えば次のコマンド：</p>
</div>
<div class="listingblock">
<div class="content">
<pre>./securityUtility createSSLCertificate --sigAlg=SHA256withECDSA --keySize=256 --server=myServer --validity=3650 --password=password</pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre>keytool -genkeypair -alias eccert -keyalg EC -groupname secp256r1 -validity 3650 -storetype pkcs12 -keystore myKeystore.p12 -storepass password</pre>
</div>
</div>
<div class="paragraph">
<p>jwtBuilder 要素の keyManagementKeyAlgorithm 属性に ECDH-ES を指定して設定できます（この属性は JSON Web Token 1.0 (jwt-1.0) 機能の一部です）。
ECDH-ES 鍵管理アルゴリズムで使われる EC（楕円曲線）公開鍵は、keyManagementKeyAlias 属性でそのエイリアスを参照し、trustStoreRef 属性でキーストアを指定します。</p>
</div>
<div class="paragraph">
<p>jwtBuilder 要素の設定例（server.xml 内）：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;jwtBuilder</span>
    <span class="attribute-name">keyManagementKeyAlgorithm</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">ECDH-ES</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">keyManagementKeyAlias</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">myECPublicKey</span><span class="delimiter">&quot;</span></span>
    <span class="attribute-name">trustStoreRef</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">myTrustStore</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">...</span> <span class="tag">/&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>jwtBuilderの設定方法の詳細は、<a href="https://openliberty.io/docs/latest/reference/config/jwtBuilder.html">Open Libertyのドキュメント</a>を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CVEs">このリリースでのセキュリティ脆弱性 (CVE) 修正</h2>
<div class="sectionbody">
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">CVE</th>
<th class="tableblock halign-left valign-top">CVSS スコア</th>
<th class="tableblock halign-left valign-top">脆弱性内容</th>
<th class="tableblock halign-left valign-top">影響を受けるバージョン</th>
<th class="tableblock halign-left valign-top">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-36000">CVE-2025-36000</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">4.4</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">ストアド型クロスサイトスクリプティング (Stored XSS)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-25.0.0.8</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">adminCenter-1.0 機能に影響</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-36047">CVE-2025-36047</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">5.3</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">DoS（サービス拒否）</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">18.0.0.2-25.0.0.8</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">servlet-3.1, servlet-4.0, servlet-5.0, servlet-6.0 機能に影響</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-48976">CVE-2025-48976</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">7.5</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">DoS（サービス拒否）</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-25.0.0.8</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">上記と同じ</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-36124">CVE-2025-36124</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">5.9</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">セキュリティのバイパス</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3-25.0.0.8</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">wasJmsServer‐1.0, wasJmsSecurity‐1.0, wasJmsClient‐2.0, messagingServer‐3.0, messagingSecurity‐3.0, messagingClient‐3.0 機能に関連</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>過去の脆弱性修正の一覧については、Open Liberty の <a href="/docs/latest/security-vulnerabilities.html">セキュリティ脆弱性(CVE)のリスト</a>を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-25-0-0-9を今すぐ入手">Open Liberty 25.0.0.9を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p>このバージョンは<a href="#run">Maven, Gradle, Docker、またはアーカイブ</a>からダウンロード可能です。</p>
</div>
</div>
</div>]]></content><author><name>Ismath Badsha</name></author><category term="blog" /><category term="announcements" /><category term="release" /><category term="security" /></entry><entry><title type="html">MicroProfile 7.1および25.0.0.8におけるコンポーネント仕様のアップデート</title><link href="https://openliberty.io/ja/blog/2025/08/12/25.0.0.8.html" rel="alternate" type="text/html" title="MicroProfile 7.1および25.0.0.8におけるコンポーネント仕様のアップデート" /><published>2025-08-12T00:00:00+00:00</published><updated>2025-08-12T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2025/08/12/25.0.0.8</id><content type="html" xml:base="https://openliberty.io/ja/blog/2025/08/12/25.0.0.8.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>このリリースではMicroProfile 7.1のサポートが導入され、2つのコンポーネント仕様がアップデートされました：MicroProfile TelemetryとMicroProfile OpenAPI。</p>
</div>
<div class="paragraph">
<p><a href="/">Open Liberty</a> 25.0.0.8では：</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#microprofile">MicroProfile 7.1</a></p>
<div class="ulist">
<ul>
<li>
<p><a href="#telemetry">MicroProfile Telemetry 2.1</a></p>
</li>
<li>
<p><a href="#openapi">MicroProfile OpenAPI 4.1</a></p>
</li>
</ul>
</div>
</li>
<li>
<p><a href="#CVEs">セキュリティ脆弱性（CVE）の修正</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A25008+label%3A%22release+bug%22">25.0.0.8</a>で修正されたバグのリストをご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="/blog/?search=release&amp;search!=beta">以前のOpen Liberty GAリリースのブログ投稿</a>をチェックしてください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">25.0.0.8を使用してアプリケーションを開発・実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a>を使用している場合は、 <code>pom.xml</code> ファイルに以下を含めてください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.4<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/guides/gradle-intro.html">Gradle</a>の場合は、 <code>build.gradle</code> ファイルに以下を含めてください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.4'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/docs/latest/container-images.html">コンテナイメージ</a>を使用する場合：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/start/">ダウンロードページ</a>をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>または <a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a>を使用している場合は、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty開発ツール</a>を活用して、IDE内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うことができます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Ask a question on Stack Overflow"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="microprofile">MicroProfile 7.1</h2>
<div class="sectionbody">
<div class="paragraph">
<p>MicroProfile 7.1（ <code>MP 7.1</code> ）はマイナーリリースであり、以下のMicroProfileコンポーネント仕様を含み、Jakarta EE 10 Core Profileと連携します：</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://jakarta.ee/specifications/coreprofile/10/">Jakarta EE 10 Core Profile</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-config/releases/tag/3.1">MicroProfile Config 3.1</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-fault-tolerance/releases/tag/4.1">MicroProfile Fault Tolerance 4.1</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-health/releases/tag/4.0">MicroProfile Health 4.0</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-telemetry/releases/tag/2.1">MicroProfile Telemetry 2.1</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-open-api/releases/tag/4.1">MicroProfile OpenAPI 4.1</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-jwt-auth/releases/tag/2.1">MicroProfile JWT Authentication 2.1</a></p>
</li>
<li>
<p><a href="https://github.com/eclipse/microprofile-rest-client/releases/tag/4.0">MicroProfile Rest Client 4.0</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>このリリースでは、MicroProfile Telemetry 2.1とMicroProfile OpenAPI 4.1がアップデートされ、他の5つの仕様は変更されていません。</p>
</div>
<div class="paragraph">
<p>MicroProfile 7.1を有効にするには、 <code>server.xml</code> に以下の機能を追加してください：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;featureManager&gt;</span>
    <span class="tag">&lt;feature&gt;</span>microProfile-7.1<span class="tag">&lt;/feature&gt;</span>
<span class="tag">&lt;/featureManager&gt;</span></code></pre>
</div>
</div>
<div class="sect2">
<h3 id="telemetry">MicroProfile Telemetry 2.1</h3>
<div class="paragraph">
<p>MicroProfile Telemetry 2.1（ <code>mpTelemetry-2.1</code> ）は、開発者に更新されたOpen Telemetry技術を提供します。この機能は現在OpenTelemetry v1.48.0を使用しており、v1.39.0からアップデートされています。以前は実験的だったAPIが現在は安定版になっています。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;featureManager&gt;</span>
   <span class="tag">&lt;feature&gt;</span>mpTelemetry-2.1<span class="tag">&lt;/feature&gt;</span>
<span class="tag">&lt;/featureManager&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>OpenTelemetry APIを使用するために、 <code>server.xml</code> の <code>classloader</code> 要素に <code>apiTypeVisibility="+third-party"</code> 属性を追加する必要がなくなりました。これにより、OpenTelemetry APIを使用するアプリケーションをdroppinsディレクトリにドロップするだけでデプロイすることが可能になりました。</p>
</div>
<div class="paragraph">
<p>MicroProfile Telemetryの詳細については、以下のリンクを参照してください：</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://github.com/eclipse/microprofile-telemetry">MicroProfile Telemetry</a></p>
</li>
<li>
<p><a href="https://github.com/open-telemetry/opentelemetry-specification">OpenTelemetry仕様</a></p>
</li>
<li>
<p><a href="https://openliberty.io/docs/latest/microprofile-telemetry.html">Open LibertyのMicroProfile Telemetryドキュメント</a></p>
</li>
</ul>
</div>
</div>
<div class="sect2">
<h3 id="openapi">MicroProfile OpenAPI 4.1</h3>
<div class="paragraph">
<p>OpenAPIはREST APIをJSONまたはYAML形式で文書化する標準化された方法です。MicroProfile OpenAPIは、JAX-RSまたはJakarta restfulWSを使用して構築されたRESTアプリケーションのOpenAPIドキュメントを生成・提供するのに役立ちます。これは開発中にAPIをテストしたり、本番環境でAPIを使用する人々にとって有用です。</p>
</div>
<div class="paragraph">
<p>新しいMicroProfile OpenAPI 4.1（ <code>mpOpenAPI-4.1</code> ）機能を使用するには、まず <code>server.xml</code> に機能を追加します：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;featureManager&gt;</span>
    <span class="tag">&lt;feature&gt;</span>mpOpenAPI-4.1<span class="tag">&lt;/feature&gt;</span>
<span class="tag">&lt;/featureManager&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>次に、任意のRESTアプリケーションをデプロイします。その後、Webブラウザで、LibertyサーバーのYAML OpenAPIドキュメントを表示するには <code>/openapi</code> にアクセスするか、ドキュメントを閲覧するためのユーザーインターフェースには <code>/openapi/ui</code> にアクセスします。ドキュメントを強化するには、コード内で<a href="https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/">アノテーション</a>を使用して、各メソッドにテキスト説明などの追加情報を加えることができます。アノテーションはmavenの依存関係として利用可能です：</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;dependency&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>org.eclipse.microprofile.openapi<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>microprofile-openapi-api<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>4.1<span class="tag">&lt;/version&gt;</span>
    <span class="tag">&lt;scope&gt;</span>provided<span class="tag">&lt;/scope&gt;</span>
<span class="tag">&lt;/dependency&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>MicroProfile OpenAPI 4.1は小規模なリリースであり、以下の機能が追加されています：</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/org.eclipse.microprofile.openapi/org/eclipse/microprofile/openapi/models/OpenAPI.html#setJsonSchemaDialect(java.lang.String)">モデルAPI</a>を使用してOpenAPIオブジェクトの<a href="https://spec.openapis.org/oas/v3.1.0.html#fixed-fields"> <code>jsonSchemaDialect</code> フィールド</a>を設定する機能</p>
</li>
<li>
<p>モデルAPIの<a href="https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/org.eclipse.microprofile.openapi/org/eclipse/microprofile/openapi/models/Extensible.html"> <code>Extensible</code> </a>に新しいメソッド <code>hasExtension</code> と <code>getExtension</code> を追加</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>MicroProfile OpenAPIの詳細については、以下を参照してください：</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Open Libertyの<a href="https://openliberty.io/guides/microprofile-openapi.html">ガイド</a></p>
</li>
<li>
<p>Open Libertyの<a href="https://openliberty.io/docs/latest/documentation-openapi.html">ドキュメント</a></p>
</li>
<li>
<p>Open Libertyの<a href="https://openliberty.io/docs/latest/documentation-openapi.html">ドキュメント</a></p>
</li>
<li>
<p><a href="https://download.eclipse.org/microprofile/microprofile-open-api-4.1/apidocs/">Javadoc</a></p>
</li>
<li>
<p><a href="https://download.eclipse.org/microprofile/microprofile-open-api-4.1/microprofile-openapi-spec-4.1.html">仕様</a></p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CVEs">このリリースのセキュリティ脆弱性（CVE）修正</h2>
<div class="sectionbody">
<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">CVE</th>
<th class="tableblock halign-left valign-top">CVSSスコア</th>
<th class="tableblock halign-left valign-top">脆弱性評価</th>
<th class="tableblock halign-left valign-top">影響を受けるバージョン</th>
<th class="tableblock halign-left valign-top">注記</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2024-56339">CVE-2024-56339</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">3.7</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">セキュリティバイパス</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3 - 25.0.0.7</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>servlet-3.1</code> 、 <code>servlet-4.0</code> 、 <code>servlet-5.0</code> および <code>servlet-6.0</code> 機能に影響します</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock"><a href="https://www.cve.org/CVERecord?id=CVE-2025-36097">CVE-2025-36097</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">7.5</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">サービス拒否</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">17.0.0.3 - 25.0.0.7</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>jsonp-1.0</code> 、 <code>jsonp-1.1</code> および <code>jsonp-2.0</code> 機能に影響します</p></td>
</tr>
</tbody>
</table>
<div class="paragraph">
<p>過去のセキュリティ脆弱性修正のリストについては、<a href="/docs/latest/security-vulnerabilities.html">セキュリティ脆弱性（CVE）リスト</a>を参照してください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open-liberty-25-0-0-8を今すぐ入手">Open Liberty 25.0.0.8を今すぐ入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven、Gradle、Docker、およびダウンロード可能なアーカイブ</a>から入手できます。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="microprofile" /><category term="release" /><summary type="html"><![CDATA[このリリースではMicroProfile 7.1のサポートが導入され、2つのコンポーネント仕様がアップデートされました：MicroProfile TelemetryとMicroProfile OpenAPI。]]></summary></entry><entry><title type="html">25.0.0.7におけるログ設定のmaxFilesパラメータの適用範囲の拡張</title><link href="https://openliberty.io/ja/blog/2025/07/15/25.0.0.7.html" rel="alternate" type="text/html" title="25.0.0.7におけるログ設定のmaxFilesパラメータの適用範囲の拡張" /><published>2025-07-15T00:00:00+00:00</published><updated>2025-07-15T00:00:00+00:00</updated><id>https://openliberty.io/ja/blog/2025/07/15/25.0.0.7</id><content type="html" xml:base="https://openliberty.io/ja/blog/2025/07/15/25.0.0.7.html"><![CDATA[<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>25.0.0.7におけるリリースでは、Open Libertyのアクセスログ設定におけるmaxFilesパラメータが強化されました。この変更により、ログファイルのクリーンアップが改善され、出力ディレクトリ内のすべての該当するログファイルが、現在のプロセスによって生成されたものだけでなく、考慮されるようになりました。</p>
</div>
<div class="ulist">
<ul>
<li>
<p><a href="#maxfile">Open Libertyにおけるログ管理の強化：アクセスログのmaxFilesパラメータの適用範囲の拡張</a></p>
</li>
</ul>
</div>
<div class="paragraph">
<p><a href="https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A25007+label%3A%22release+bug%22">25.0.0.7</a>で修正されたバグの一覧をご確認ください。</p>
</div>
<div class="paragraph">
<p>過去の<a href="/blog/?search=release&amp;search!=beta">Open Liberty GAリリースのブログ投稿</a>をご覧ください。</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="run">25.0.0.7を使用してアプリを開発・実行する</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="/guides/maven-intro.html">Maven</a>を使用している場合は、`pom.xml`ファイルに以下の内容を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;plugin&gt;</span>
    <span class="tag">&lt;groupId&gt;</span>io.openliberty.tools<span class="tag">&lt;/groupId&gt;</span>
    <span class="tag">&lt;artifactId&gt;</span>liberty-maven-plugin<span class="tag">&lt;/artifactId&gt;</span>
    <span class="tag">&lt;version&gt;</span>3.11.4<span class="tag">&lt;/version&gt;</span>
<span class="tag">&lt;/plugin&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/guides/gradle-intro.html">Gradle</a>を使用している場合は、 <code>build.gradle</code> ファイルに以下の内容を含めます。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="gradle">buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.4'
    }
}
apply plugin: 'liberty'</code></pre>
</div>
</div>
<div class="paragraph">
<p><a href="/docs/latest/container-images.html">コンテナ・イメージ</a>を使用している場合は以下です。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code>FROM icr.io/appcafe/open-liberty</code></pre>
</div>
</div>
<div class="paragraph">
<p>または、<a href="/start/">ダウンロード・ページ</a>をご覧ください。</p>
</div>
<div class="paragraph">
<p><a href="https://plugins.jetbrains.com/plugin/14856-liberty-tools">IntelliJ IDEA</a>、<a href="https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext">Visual Studio Code</a>または<a href="https://marketplace.eclipse.org/content/liberty-tools">Eclipse IDE</a>を使用している場合は、オープンソースの <a href="https://openliberty.io/docs/latest/develop-liberty-tools.html">Liberty開発者ツール</a>を活用して、IDE 内で効果的な開発、テスト、デバッグ、およびアプリケーション管理を行うことができます。</p>
</div>
<div class="imageblock text-center">
<div class="content">
<a class="image" href="https://stackoverflow.com/tags/open-liberty"><img src="/img/blog/blog_btn_stack_ja.svg" alt="Stack Overflowで質問する"></a>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="maxfile">Open Libertyにおけるログ管理の強化：アクセスログのmaxFilesパラメータの適用範囲の拡張</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Open Libertyの堅牢なロギングシステムは、開発者や管理者がアプリケーションの実行時の挙動を把握するのに役立ちます。25.0.0.7におけるリリースでは、Open Libertyのアクセスログ設定における <code>maxFiles</code> パラメータが強化されました。この変更により、ログファイルのクリーンアップが改善され、出力ディレクトリ内のすべての該当するログファイルが、現在のプロセスによって生成されたものだけでなく、考慮されるようになりました。Open Libertyのアクセスログは、すべての受信HTTPリクエストを記録し、アクセスログファイルに保存します。アクセスログの各種パラメータは <code>server.xml</code> 構成ファイルで設定できます。その1つが <code>maxFiles</code> で、サーバーが保持するローテーション済みアクセスログファイルの数を制御します。</p>
</div>
<div class="paragraph">
<p>従来の動作では、Open Libertyのクリーンアップ機構は現在のサーバー・プロセス実行中に作成されたアクセスログファイルのみを追跡・削除していました。そのため、以前のサーバー・プロセス実行時に生成された古いログファイルはディレクトリ内に残っていました。</p>
</div>
<div class="paragraph">
<p>この課題に対応するため、<code>maxFiles</code> パラメータの適用範囲が拡張されました。主な変更点は、サーバーがログ出力ディレクトリ内の設定されたファイル名パターンに一致するすべてのログファイルを、どのプロセスで作成されたかに関係なく考慮し、合計が <code>maxFiles</code> を超えた場合は最も古いものから削除するようになったことです。</p>
</div>
<div class="paragraph">
<p>利点:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong>クリーンアップの強化:</strong> ログディレクトリが整理され、想定した上限内に保たれます。</p>
</li>
<li>
<p><strong>プロセスをまたいだ対応:</strong> 過去の実行で生成されたログも管理対象となります。</p>
</li>
<li>
<p><strong>一貫性:</strong> デプロイをまたいでも予測可能で信頼性の高いログ保持動作を実現します。</p>
</li>
</ul>
</div>
<div class="paragraph">
<p><code>maxFiles</code> パラメータを使ったアクセスログの有効化方法は以下の通りです。</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="CodeRay highlight"><code data-lang="xml"><span class="tag">&lt;httpEndpoint</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">defaultHttpEndpoint</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">httpPort</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">9080</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">httpsPort</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">9443</span><span class="delimiter">&quot;</span></span><span class="tag">&gt;</span>
    <span class="tag">&lt;accessLogging</span> <span class="attribute-name">filepath</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">${server.output.dir}/logs/http_versionEndpoint_access.log</span><span class="delimiter">&quot;</span></span>
                   <span class="attribute-name">maxFiles</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">5</span><span class="delimiter">&quot;</span></span> <span class="attribute-name">rolloverInterval</span>=<span class="string"><span class="delimiter">&quot;</span><span class="content">1m</span><span class="delimiter">&quot;</span></span> <span class="tag">/&gt;</span>
<span class="tag">&lt;/httpEndpoint&gt;</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>この設定により、以下の動作が行われます。</p>
</div>
<div class="ulist">
<ul>
<li>
<p>アクセスログは <code>${server.output.dir}/logs</code> ディレクトリに保存されます。</p>
</li>
<li>
<p>ローテーションされたアクセスログファイルは最新の5件のみ保持されます。</p>
</li>
<li>
<p>ファイル数が5件を超えると、新しいファイル作成時に最も古いファイルが自動的に削除されます。</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="今すぐopen-liberty-25-0-0-7を入手">今すぐOpen Liberty 25.0.0.7を入手</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="#run">Maven、Gradle、Docker、およびダウンロード可能なアーカイブ</a>として入手できます。</p>
</div>
</div>
</div>]]></content><author><name>Navaneeth S Nair</name></author><category term="blog" /><category term="announcements" /><category term="release" /><category term="monitoring" /><summary type="html"><![CDATA[25.0.0.7におけるリリースでは、Open Libertyのアクセスログ設定におけるmaxFilesパラメータが強化されました。この変更により、ログファイルのクリーンアップが改善され、出力ディレクトリ内のすべての該当するログファイルが、現在のプロセスによって生成されたものだけでなく、考慮されるようになりました。]]></summary></entry></feed>