3

CERTENROLL.dll の CX509CertificateRequest 証明書機能を使用して C# で生成した自己署名ルート証明書があります。

同じ API を使用して、ルートによって署名されたクライアント証明書を生成する関数を作成したいと考えています。ただし、自己署名証明書を生成しない唯一の CertEnroll オプションには、認証された CA が必要です。

SignerCertificate を設定するためのフラグがあるようですが、常に初期化に失敗します。

        //Initialize cert
        var cert = new CX509CertificateRequestCertificate();
        //take care of signer
        cert.Issuer = issuen;
        CSignerCertificate sc = new CSignerCertificate();
        var raw = SEScert.GetRawCertData();
        var rawStr=Convert.ToBase64String(raw);
        sc.Initialize(false, X509PrivateKeyVerify.VerifyNone,    
                      EncodingType.XCN_CRYPT_STRING_BASE64, rawStr); //fails here
        cert.SignerCertificate = sc;

ルートによって署名されたクライアント CX509CertificateRequest を生成する方法を知っている人はいますか?

ヘルプやアドバイスをいただければ幸いです。

4

1 に答える 1