数字证书(CA证书)是由可信任的第三方权威机构(CA中心)颁发给个人或企业用户,用来验证身份、数据签名、数据加密等操作。CA证书是整个公钥基础设施(PKI,Public Key Infrastructure)体系的核心,目前国内CA中心由国家密码管理局管理,基本上每个省都有一个CA中心,用来签发省内CA证书和提供相关应用。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。目前,数字证书均采用X.509国际标准。数字证书的结构包含如下信息。
版本号:书所遵循的X.509标准的版本。
序列号:唯一标识证书且由证书颁发机构颁发的编号。
证书算法标识:证书颁发机构用来对数字证书进行签名的特定公钥算法的名称。
颁发者名称:实际颁发该证书的证书颁发机构的标识。
有效期:数字证书保持有效的时间段,并包含起始日期和过期日期。
使用者名称:数字证书所有者的姓名。
使用者公钥信息:与数字证书所有者关联的公钥以及与该公钥关联的特定公钥算法。
颁发者唯一标识符:可以用来唯一标识数字证书颁发者的信息。
使用者唯一标识符:可以用来唯一标识数字证书所有者的信息。
扩充信息:与证书的使用和处理有关的其他信息。
证书颁发机构的数字签名:使用证书算法标识符字段中指定的算法以及证书颁发机构的私钥进行的实际数字签名。
数字证书就是对公钥加上认证机构的数字签名所构成的。要验证公钥的数字签名,需要通过某种途径获取认证机构自身的合法公钥。下面以数字签名和散列算法的实际应用例,来说明数字证书的基本用途。
(1)Bob有两把钥匙,一把是公钥,另一把是私钥。
(2)Bob把公钥送给他的朋友们Craol、Alice每人一把。
(3)Alice要给Bob写一封保密的信。她写完后用Bob的公钥加密,就可以达到保密的效果,如图1所示。