特定の x.509 証明書に対して有効になっている目的をプログラムで編集する方法はありますか?
この機能は、証明書 mmc スナップイン (下のハイパーリンク) を介して利用できますが、コードを介してアクションを実行する必要があります。できればC#。
特定の x.509 証明書に対して有効になっている目的をプログラムで編集する方法はありますか?
この機能は、証明書 mmc スナップイン (下のハイパーリンク) を介して利用できますが、コードを介してアクションを実行する必要があります。できればC#。
MMCはCryptoAPIが実行できることは何でも実行でき、CertAddEnhancedKeyUsageIdentifierやCertSetCertificateContextPropertyなどの証明書関連の関数が多数あります。例Cプログラム:証明書のプロパティの取得と設定には、証明書が有効な用途を指定する「拡張キーの使用法」の変更を含む、本格的な例があります。たとえば、サーバー側からSSLに対して証明書を有効にするには、EKU OID 1.3.6.1.5.5.7.3.1(別名「サーバー認証」)を追加する必要があります。SSLで使用するための証明書の構成を参照してください。
C#に相当するのはX509KeyUsageExtensionクラスです。例については、クラス仕様へのリンクを参照してください。