【发布时间】:2016-02-01 11:25:47
【问题描述】:
以下代码尝试更新现有证书。 证书已更新,但尽管指定了 X509RequestInheritOptions.InheritPrivateKey 选项,但仍会生成新的公钥/私钥。
下面的代码有什么问题,因为其目的是保留现有的私钥? 在证书管理控制台中,我可以更新证书并保留现有的私钥。
string certificateSerial = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
X509Certificate certificate = getCertificate(certificateSerial);
var objPkcs7 = new CX509CertificateRequestPkcs7();
objPkcs7.InitializeFromCertificate(X509CertificateEnrollmentContext.ContextUser, true,
Convert.ToBase64String(enrollmentAgentCertificate.GetRawCertData()),
EncodingType.XCN_CRYPT_STRING_BASE64,
X509RequestInheritOptions.InheritPrivateKey & X509RequestInheritOptions.InheritValidityPeriodFlag);
IX509Enrollment ca = new CX509EnrollmentClass();
ca.InitializeFromRequest(objPkcs7);
ca.Enroll();
谢谢
【问题讨论】:
标签: c# certificate renewal