概要
本パッチは、 楕円曲線暗号(ECC) ベースの鍵および証明書への対応を追加します。 eMudhra の中間CAおよびクロス署名ルート証明書のチェーンが新たに組み込まれています。 複数の関数・クラスで RSA 専用だった型アノテーションを RSAまたはEC 対応に拡張しています。 プライベートキーのロード関数も EC鍵 に対応するよう修正されています。 証明書生成やストア管理のより柔軟な暗号対応が可能になります。
eMudhra中間CAおよびクロス署名ルート証明書チェーンの追加
- eMudhra の中間CA(EM OV TLS CA - G3C)およびクロス署名ルート(emSign Root TLS CA - G3)の証明書チェーンを新規追加
- 証明書 および 秘密鍵 をPEM形式でハードコード
- 参考URLとして https://emudhra.we-have-a-problem.com/ を記載
楕円曲線暗号(EC)鍵対応の拡張
- これまで rsa.RSAPrivateKey のみ対応だった型アノテーションを rsa.RSAPrivateKey | ec.EllipticCurvePrivateKey に変更
- dummy_cert関数
- dummy_crl関数
- CertStoreEntryクラス
- CertStoreクラスのdefault_privatekey属性
- CertStoreクラスの__init__メソッド
- ECC鍵による証明書生成・管理が可能に
プライベートキー読み込み関数の修正
- load_pem_private_key 関数の戻り値型を RSAまたはECプライベートキー に拡張
- 鍵が暗号化されていない場合は パスワード無し での読み込みにフォールバック
その他の修正点
- 証明書ストア や 証明書生成 の各所でEC鍵対応を実現
- STORE_CAP やチェーン管理など、既存の構造を維持しつつ柔軟性を向上
まとめ
- RSAとECC両対応 による証明書運用の多様化
- eMudhra 関連証明書チェーンの追加による検証・テストの拡充
- 今後の 暗号アルゴリズムの多様化 やセキュリティ要件に柔軟に対応可能
これ、手元にある古いAndroidのスマホでアプリをスニッフィングするのにめっちゃ便利そう。証明書をピン留めしてないといいけど。