IT点滴

我不去想是否能够成功 既然选择了远方 便只顾风雨兼程
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

证书库中证书与密钥容器的关联

Posted on 2014-03-20 13:55  Ady Lee  阅读(744)  评论(0)    收藏  举报

证书的两种形式:

 

1、带私钥的证书,即p12格式证书(后缀为.pfx)

2、不带私钥的证书,有多种格式,通常我们使用的是cer格式证书(后缀为.cer)

 

当我们安装.pfx格式证书时,windows的安装程序会为我们生成一个唯一的密钥容器(密钥容器名为GUID格式),并把证书中的私钥存储在密钥容器中,然后把脱除私钥的证书(为.cer格式证书)存放在证书库中(如果是个人证书,会默认存放在个人证书库,也就是MY系统证书库中),证书库并为证书维护一个CERT_KEY_PROV_INFO_PROP_ID属性,通过此属性可以获取存储私钥的CSP和密钥容器,所以当我们使用证书进行数字签名时,可以找到对应的CSP和密钥容器从而找到私钥进行签名。

 

当我们安装.cer格式证书时,一般这样的证书是别人的公钥证书(如果在安全电子邮件中,用来对邮件进行加密,其实是对对称密钥进行加密),windows安装程序会默认把证书安装在其他人证书库(也就是ADDRESSBOOK系统证书库)中,证书库不为证书维护

CERT_KEY_PROV_INFO_PROP_ID属性,所以使用此证书进行加密时,会寻找默认的CSP(CSP类型是确定的,安全电子邮件中使用

PROV_RSA_FULL类型),产生临时密钥容器导出公钥对对称密钥进行加密,加密完成后会删除临时密钥容器。