■概要
2026年10月、インドの認証局 eMudhra が発行した中間CA証明書8つで、秘密鍵が容易に推測できる状態だったことが判明しました。
この秘密鍵を使うと、第三者が正規のサーバーになりすました証明書を作成できるおそれがあります(CVE-2026-91403、CVE-2026-114820)。Java の提供元である Oracle は、該当するルート証明書を取り除いた Java の更新版と、更新までの回避策を公開しています。OpenJDK でも同様の告知が公開されています。
・Oracle:Distrusting eMudhra Intermediate Certificates in Oracle JDK
https://ops.java/emudhra
・Oracle:Security Alert Advisory - CVE-2026-114820
https://www.oracle.com/security-alerts/alert-cve-2026-114820.html
・OpenJDK:Compromised Certificates and OpenJDK Java Runtimes
https://openjdk.org/emudhra
■ASTERIA Warp への影響
ASTERIA Warp(以下 Warp と表記します)の通信はあらかじめ設定した接続先との通信が中心であり、接続先やネットワーク環境が適切に管理されていれば、今回の問題が悪用される可能性は低いと考えられます。
しかし、第三者が通信経路に割り込んだ場合には、偽造されたサーバー証明書を信頼してしまうおそれがあります。この場合、Warp が送受信するデータや、接続先へのログインに使うパスワードやトークンなどの認証情報を、第三者に読み取られたり書き換えられたりする可能性があります。しかも、通信はエラーにならずに成功するため、気づくことは困難です。
そのため、予防措置として、該当するルート証明書を Warp の証明書管理と Java の両方から削除することをお勧めします。手順は「■対策方法」をご覧ください。
エディションやバージョンを問わず、すべての Warp が対象です。Java も、Java 8、Java 21、Java 25 のいずれもが対象です。ただし、該当するルート証明書を取り除いた更新版は対象外です。
■対策方法
次の2つを両方実施してください。
・対策1:Warp の証明書管理から、該当するルート証明書を削除する
・対策2:Java を更新する、または Java から該当するルート証明書を削除する
以下に、Warp に対策を適用する場合の手順の例を記載します。blocked.certs を差し替え済みの場合も、以下の手順を実施してください。
※ルート証明書を削除すると、そのルート証明書で検証する接続先には HTTPS などで接続できなくなります。対策の適用後に接続エラーが発生した場合は、接続先のサーバー証明書の発行元をご確認ください。
※ASTERIA Warp Cloud をご利用のお客様への対応は、確認でき次第この記事でお知らせします。
◆対策1:Warp の証明書管理から、該当するルート証明書を削除する(フローサービス全体の再起動が必要です)
-
次のフォルダーをコピーして、バックアップします。
[DATA_DIR]\data\keystore※[DATA_DIR]:データフォルダー(例 C:\asteriahome6)
- フローサービス管理コンソールに管理者ユーザー(asu)でログインします。
-
設定→SSL→サーバー認証局 を開き、ブラウザーの検索機能を用いて、「発行先」が次の証明書を検索します。
検索する文字列 該当する証明書(発行先) emSign CN=emSign Root CA - G1
CN=emSign Root CA - G2
CN=emSign ECC Root CA - G3AAA Certificate Services CN=AAA Certificate Services - ヒットしない場合(0件):その証明書は登録されていないため、削除は不要です。
- ヒットした場合:手順4に進みます。
※Warp のバージョンや環境によって、登録されている証明書は異なります。
- 該当する証明書の行を選択し、「削除」を押します。該当する証明書ごとに繰り返してください。
- メッセージに従い、フローサービス全体を再起動します。続けて対策2を実施する場合は、対策2の手順でまとめて再起動してください。
- 再起動後、再度フローサービス管理コンソールに管理者ユーザー(asu)でログインします。設定→SSL→サーバー認証局 を開き、手順3と同じ文字列で検索して、0件になっていることを確認します。
※削除前の状態に戻す場合は、フローサービス全体を停止してから、バックアップした keystore フォルダーを元の場所に戻し、フローサービスを起動してください。
◆対策2:Java を更新する、または Java から該当するルート証明書を削除する
Oracle は、該当するルート証明書を取り除いた Java の更新版を公開しています。Warp での動作検証が済んだバージョンは、「JDK動作検証」の記事でお知らせします。Oracle 以外の Java(OpenJDK 系)は、各提供元の更新情報をご確認ください。
Java を更新するまでの間は、次の手順で該当するルート証明書を削除してください。
-
Warp が使用している Java の場所を確認します。
- フローサービス:フローサービス管理コンソールの「システム」 - 「サーバー情報」にある「Javaパス」
- フローデザイナー:環境設定の「Java」タブにある「ロケーション」
※表示される
java.exeのパスから、binフォルダーの1つ上が Java のインストール先です。 - フローサービスとフローデザイナーを停止します。
-
Java の証明書ファイル(cacerts)をバックアップします。
Java 証明書ファイル Java 21 / Java 25 <Javaのインストール先>\lib\security\cacertsJava 8(JDK) <Javaのインストール先>\jre\lib\security\cacertsJava 8(JRE) <Javaのインストール先>\lib\security\cacerts -
管理者としてコマンドプロンプトを起動し、Java の
binフォルダーに移動します。Linux の場合は root 権限で実行してください。cd /d "<Javaのインストール先>\bin"Linux の場合は
cd "<Javaのインストール先>/bin"で移動し、以降のコマンドのkeytoolを./keytoolに読み替えてください。 -
次のコマンドを1行ずつ実行して、4つのルート証明書を削除します。パスワードを聞かれたら、キーストアのパスワード(初期値:
changeit)を入力してください。【Java 21 / Java 25】
keytool -delete -cacerts -alias "emsignrootcag1 [jdk]" keytool -delete -cacerts -alias "emsignrootcag2 [jdk]" keytool -delete -cacerts -alias "emsigneccrootcag3 [jdk]" keytool -delete -cacerts -alias "comodoaaaca [jdk]"【Java 8】(
<cacertsのパス>は手順3の表の証明書ファイル)keytool -delete -keystore "<cacertsのパス>" -alias "emsignrootcag1 [jdk]" keytool -delete -keystore "<cacertsのパス>" -alias "emsignrootcag2 [jdk]" keytool -delete -keystore "<cacertsのパス>" -alias "emsigneccrootcag3 [jdk]" keytool -delete -keystore "<cacertsのパス>" -alias "comodoaaaca [jdk]"※「別名 <…> は存在しません」のようなエラーが表示された場合、その証明書はもともと含まれていません。エラーは無視して次へ進んでください。
-
次のコマンドで、ルート証明書が削除されたことを確認します。パスワードを聞かれたら、手順5と同じパスワードを入力してください。何も表示されなければ、削除できています。
【Java 21 / Java 25】
keytool -list -cacerts | findstr /i "emsign comodoaaaca"【Java 8】
keytool -list -keystore "<cacertsのパス>" | findstr /i "emsign comodoaaaca"※Linux の場合は、
findstr /i "emsign comodoaaaca"をgrep -i -E "emsign|comodoaaaca"に置き換えてください。※JDK をお使いの場合は、OpenJDK が提供する CheckCerts.java でも確認できます(https://cr.openjdk.org/~mr/CheckCerts.java)。Warp が使用している Java で実行し、「No bad root certificates found」と表示されれば削除できています。
【Java 21 / Java 25】
"<Javaのインストール先>\bin\java" CheckCerts.java【Java 8】
"<Javaのインストール先>\bin\javac" CheckCerts.java "<Javaのインストール先>\bin\java" CheckCerts - フローサービスとフローデザイナーを起動します。
フローサービスとフローデザイナーで別の Java を使用している場合は、それぞれに対策を実施してください。