在CERTENROLL请求中提供公钥

时间:2011-04-22 02:30:09

标签: x509 certenroll

我想使用模板请求证书(来自AD证书服务器)。我想在请求中提供公钥。使用msft的SDK示例

        IX509CertificateRequest iRequest = objEnroll.Request;

        // then get the inner PKCS10 request
        IX509CertificateRequest iInnerRequest = 
            iRequest.GetInnerRequest(InnerRequestLevel.LevelInnermost);
        IX509CertificateRequestPkcs10 iRequestPkcs10 = 
            iInnerRequest as IX509CertificateRequestPkcs10;

        // create CX500DistinguishedName
        CX500DistinguishedName objName = new CX500DistinguishedName();
        objName.Encode(subjectName, X500NameFlags.XCN_CERT_NAME_STR_NONE);

        // set up the subject name
        iRequestPkcs10.Subject = objName;

我想我需要做一些像这样的事情

         iRequestPkcs10.PublicKey.InitializeFromEncodedPublicKeyInfo(xx);

但我不知道xx是什么。我有公钥(在一个充满弹性的城堡PKCS10对象中),但它必须以什么格式传递给这个函数?

1 个答案:

答案 0 :(得分:0)

您可以使用多种不同格式指定公钥。

根据MSDN,InitializeFromEncodedPublicKeyInfo有两个参数:第一个是公钥,第二个是EncodingType枚举值,它指定您提供的公钥的格式。