Windows 如何将密钥从CERT_上下文导入HCRYPTPROV

Windows 如何将密钥从CERT_上下文导入HCRYPTPROV,windows,ssl,x509,Windows,Ssl,X509,我们的Windows代码主要基于Crypt*API和存储在HCRYPTPROV中的密钥(非对称,公共和私有部分)。密钥通常使用CryptImportKey()从外部源导入 注意:提供此密钥的源的安全性在这里不属于主题。就我们的目的而言,它足够安全 现在随着开发的进行,我们需要采用来自X.509证书的密钥。当前代码通过PFXImportCertStore()将证书加载到HCERTSTORE中,或从在线CA获取证书,然后通过CertEnumCertificateSinstare将证书本身作为证书上下

我们的Windows代码主要基于Crypt*API和存储在HCRYPTPROV中的密钥(非对称,公共和私有部分)。密钥通常使用CryptImportKey()从外部源导入

注意:提供此密钥的源的安全性在这里不属于主题。就我们的目的而言,它足够安全

现在随着开发的进行,我们需要采用来自X.509证书的密钥。当前代码通过PFXImportCertStore()将证书加载到HCERTSTORE中,或从在线CA获取证书,然后通过CertEnumCertificateSinstare将证书本身作为证书上下文进行访问

但我完全没有找到将密钥从证书移动到HCRYPTPROV的方法。任何想法都是非常受欢迎的


在这方面,HCRYPTPROV只是一个指针。不能在那里移动键

您是否尝试使用IntPtr属性X509Certificate2.Handle