证书库个人证书存储区为其中的每个证书维护一个属性CERT_KEY_PROV_INFO_PROP_ID,该属性指定了证书对应的密钥容器的相关信息,包括密钥容器名,CSP名称,CSP类型,密钥用途,以及CSP的其他一些参数(这些参数信息也可以使用CryptSetProvParam函数来设置)。
因为个人证书携带私钥信息,所以在导出p12(pfx)个人证书时,也导出了其对应密钥容器的相关信息(使用CryptGetProvParam函数来获取),即上面所提到的。
那么,在导入p12(pfx)个人证书时,也会导入密钥容器的相关信息。首先在对应的CSP中生成一个新的密钥容器,并导入密钥对信息;然后导入证书,并为证书和密钥容器建立关联。
p12(pfx)个人数字证书的导入可使用PFXImportCertStore函数。