ノート
[BUG] 8379675: test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java uses removed methods
GenKeyStore.java の証明書生成処理を X509CertImpl.newSigned へ置き換えました。
概要#
GenKeyStore.java は,RSA テスト用の keystore を再生成するための補助プログラムです。
通常のテスト実行時に動くものではありませんが,必要になったときに rsakeys.ks を作り直せるように,
テスト・ツリーに置かれています。
このファイルの証明書生成処理では,X509CertInfo に AlgorithmId を明示的に設定し,
最後に X509CertImpl#sign(...) を呼び出していました。
しかし,この書き方では削除済みの API を使うことになるため,
X509CertImpl.newSigned(...) を使う形へ置き換えました1。
変更後は,AlgorithmId の設定と sign(...) の呼び出しを newSigned(...) 側へ任せています。
そのため,証明書生成の流れは同じまま,重複していた手順が減りました。
- AlgorithmId algID = AlgorithmId.getAlgorithmId(algorithm);
-
X509CertInfo certInfo = new X509CertInfo();
- certInfo.set(X509CertInfo.ALGORITHM_ID, new CertificateAlgorithmId(algID));
...
- X509CertImpl cert = new X509CertImpl(certInfo);
- cert.sign(privateKey, algorithm);
-
- return cert;
+ return X509CertImpl.newSigned(certInfo, privateKey, algorithm);
また,X509CertInfo#set(...) でフィールド名を渡していた箇所も,
setVersion(...) や setSerialNumber(...) などの専用メソッドに置き換えました。
機能変更は意図していません2。
2026/04/04 JBS で発見#
本件を JBS で発見し,GenKeyStore.java の証明書生成処理を確認しました。
JBS のタイトルには test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java とありますが,
実際に変更したファイルは test/jdk/sun/security/rsa/GenKeyStore.java です1。
PR では,削除済みメソッドの利用を避けることを主目的にし,
明示的な AlgorithmId 設定と sign(...) 呼び出しを削除しました2。
2026/04/04 レビュー対応#
Weijun Wang 氏3から,変更自体は問題ないとのコメントをいただきました。
あわせて,このプログラムがモジュール導入前に書かれたものであるため,
現在の実行方法をコメントとして残すこと,getCertificate(...) の長いシグネチャを折り返すこと,
copyright 年を 2026 年へ更新することを提案いただきました。
これを受けて,ファイル先頭付近に以下の実行例を追加しました。
java --add-exports java.base/sun.security.x509=ALL-UNNAMED GenKeyStore.java
2026/04/05 レビュー#
Wang 氏3に Approve をしていただき,/integrate を行いました。
2026/04/06 統合#
同氏に /sponsor をしていただき,1d290104 として JDK へ統合されました。
Footnotes#
-
8379675: test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java uses removed methods by PeyaPeyaPeyang · Pull Request #30577…Use X509CertImpl.newSigned to simplify certificate generation. newSigned internally sets the AlgorithmId and performs signing, so the explicit AlgorithmId configuration and sign c…GitHub
↩ ↩2
-
8379675: test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java uses removed methods by PeyaPeyaPeyang · Pull Request #30577…JDK main-line development https://openjdk.org/projects/jdk - 8379675: test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java uses removed methods by PeyaPeyaPeyang · Pull Request #3057…GitHub
↩ ↩2
-
https://openjdk.org/census#weijunopenjdk.org↩ ↩2
-
8379675: test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java uses remov… · openjdk/jdk@1d29010JDK main-line development https://openjdk.org/projects/jdk - 8379675: test/jdk/sun/security/pkcs11/rsa/GenKeyStore.java uses remov… · openjdk/jdk@1d29010GitHub
↩