我使用.NET和X509Certificate2试图自动导入一个包含证书的.cer文件,其中请求是在服务器上单独发出的。可以通过IIS "Complete Certificate Request“对话框手动导入.cer文件,它会正确地获取相关的私钥。但是,导入.cer并将其添加到证书存储中无法获得私钥。
byte [] certBytes = "xxxxx"; // CER file converted to bytes
X509Certificate2 cert = new X509Certificate2();
cert.Import(certBytes);
X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
if (store.Certificates.Contains(cert)) {
store.Remove(cert);
}
store.Add(cert);
store.Close();我是否需要做一些额外的事情来模仿IIS中“完成证书申请”的过程?
发布于 2021-06-25 14:04:31
您可以使用IX509Enrollment COM接口及其InstallResponse方法自动完成注册过程。请注意,您必须调用IX509Enrollment::Initialize(X509CertificateEnrollmentContext)方法来选择上下文。引用项目中的CertEnroll.dll COM库以访问这些接口。
https://stackoverflow.com/questions/68103834
复制相似问题