一 生成密钥对
生成密钥对有两种方式:一种是由PKI用户自行生成,一种是由认证机构来生成。
在认证机构生成用户密钥对的情况下,认证机构需要将私钥发送给用户。
二 注册证书
在用户自行生成密钥对的情况下,用户会请求认证机构来生成证书。申请证书时候所使用的规范由FRC2986等定义的。
认证机构根据其认证业务准则对用户的身份进行认证,并生成证书。在生成证书时,需要使用认证机构的私钥来进行数字签名。生成证书格式是由X.509定义的。
三 作废证书与CRL
当用户的私钥丢失、被盗时,认证机构需要对证书进行作废(revoke)。此外,即便私钥安然无恙,有时候也需要作废证书,例如员工从公司离职导致其失去私钥的使用权限,或者是名称变更导致和证书记载的内容不一致等情况。
纸质证书只要撕掉就可以作废了,但这里的证书是数字信息,即便从仓库中删除也无法作废,因为用户会保存证书的副本,但认证机构又不能入侵用户的电脑将副本删掉。
要作废证书,认证机构需要制作一张证书作废清单CRL。
CRL是认证机构宣布作废的证书一览表,具体来说,是一张已作废证书序列号的清单,并由认证机构加上数字签名。证书序列号是认证机构在颁发证书时所赋予的编号,在证书中都会记载。
PKI用户需要从认证机构获取最新的CRL,并查询自己要用于验证签名的公钥证书是否已作废。这个步骤非常重要的。
假设我们手上有Bob的证书,该证书有合法的认证机构签名,而且也在有效期内,但仅凭这些还不能说该证书一定有效,还需要查询认证机构最新的CRL,并确认该证书是否有效。一般来说,这个检查不是由用户自身来完成的,而应该由处理该证书的软件来完成,但有很多软件并没有及时更新CRL。