3

CustomExtensions広範な検索を行っても、X509 (v3) 証明書にカスタム拡張機能 (プロパティ) を設定する例が見つかりません。

(既にマシンにインストールされている既存の CA 証明書に基づいて) 新しい証明書を生成したい場合、カスタム拡張機能を追加するにはどうすればよいですか? 後で検査するために、証明書にいくつかの追加のカスタム情報を持ち歩くことを検討しています。これは、プログラムまたは makecert を使用して行うことができますか? それとも、これらの拡張機能は、証明書の生成時に呼び出されるカスタム ポリシー モジュールを作成することによってのみ設定できますか? これは、.Net フレームワークの通常のクラスX509Certificateまたはクラスを使用して達成できますか?X509Certificate2

カスタム拡張機能を検査するコードは見つかりましたが、設定するコードはありません。

4

1 に答える 1

1

既存の証明書が何であれ、署名によって「封印」されます。それらの内容を変更すると、署名が無効になり、結果として証明書が無効になります。そのため、やりたいことに関する情報が見つかりませんでした。

混乱を招くのは、MMC の証明書管理スナップインを使用して証明書を表示するとき、または Internet Explorer で証明書を参照するときに、証明書のカスタム プロパティです。このようなプロパティは証明書に保存されません。証明書に「組み込まれる」のではなく、CryptoAPI によって個別に保持されます。

秘密鍵を持っている自己署名証明書の場合、証明書を再作成してカスタム拡張機能を追加することができますが、これはまれなケースです。.NET Framework でカスタム拡張機能を使用できるかどうかはわかりませんが、SecureBlackbox では使用できます。

于 2012-07-08T05:32:42.637 に答える