1

私は WinXP クライアントを持っています。私の目的は、C# で XEnroll ライブラリを使用して証明書要求を作成することです。動作するコードを見つけたので、クライアントはリクエストを作成できますが、キーとデータの暗号化のない証明書を取得しました。そのようなリクエストは CERTENROLLLib で作成できることがわかりましたが、XEnroll を使用する必要があります。

では、XEnroll を使用して、次のようなことを行うにはどうすればよいでしょうか。

// Key Usage Extension 
objExtensionKeyUsage.InitializeEncode(
       X509KeyUsageFlags.XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE | 
       X509KeyUsageFlags.XCN_CERT_NON_REPUDIATION_KEY_USAGE | 
       X509KeyUsageFlags.XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE | 
       X509KeyUsageFlags.XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE
       );
objPkcs10.X509Extensions.Add((CX509Extension)objExtensionKeyUsage);

これが私のコードです:

string distNAme = "CN=" +
    userName +
    ",OU=UserUnit" +
    ",O=CRYPTO-PRO" +
    ",L=MOSCOW" +
    ",S=WA" +
    ",C=RU";
string usage = "1.3.6.1.5.5.7.3.2";

var enroll = new CEnrollClass();

enroll.ProviderType = 75;
enroll.ProviderName = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider";

string request = enroll.createPKCS10(distNAme, usage);

var dialog = new System.Windows.Forms.SaveFileDialog();
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    System.IO.File.WriteAllText(dialog.FileName, request);
}

ありがとう。

4

0 に答える 0