1. 数字证书
1.1 什么是数字证书?
- 数字证书简称证书,它是一个经证书授权中心(即在PKI中的证书认证机构CA)数字签名的文件,包含拥有者的公钥及相关身份信息
- 数字证书可以说是Internet上的安全护照或身份证。当人们到其他国家旅行时,用护照可以证实其身份,并被获准进入这个国家。数字证书提供的是网络上的身份证明
1.2 数字证书的类型
- 自签名证书:又称为根证书,是自己颁发给自己的证书,即证书中的颁发者和主体名相同。申请者无法向CA申请本地证书时,可以通过设备生成自签名证书,可以实现简单证书颁发功能。设备不支持对其生成的自签名证书进行生命周期管理(如证书更新、证书撤销等)
- CA证书:CA自身的证书。如果PKI系统中没有多层级CA,CA证书就是自签名证书;如果有多层级CA,则会形成一个CA层次结构,最上层的CA是根CA,它拥有一个CA“自签名”的证书。申请者通过验证CA的数字签名从而信任CA,任何申请者都可以得到CA的证书(含公钥),用以验证它所颁发的本地证书
- 本地证书:CA颁发给申请者的证书
- 设备本地证书:设备根据CA证书给自己颁发的证书,证书中的颁发者名称是CA服务器的名称。申请者无法向CA申请本地证书时,可以通过设备生成设备本地证书,可以实现简单证书颁发功能
1.3 证书的结构
- 序列号:颁发者分配给证书的一个正整数,同一颁发者颁发的证书序列号各不相同,可用与颁发者名称一起作为证书唯一标识。
- 签名算法:颁发者颁发证书使用的签名算法
- 颁发者:颁发该证书的设备名称,必须与颁发者证书中的主体名一致。通常为CA服务器的名称
- 有效期:包含有效的起、止日期,不在有效期范围的证书为无效证书
- 主体名:证书拥有者的名称,如果与颁发者相同则说明该证书是一个自签名证书
- 公钥信息:用户对外公开的公钥以及公钥算法信息
- 扩展信息:通常包含了证书的用法、CRL的发布地址等可选字段
- 签名:颁发者用私钥对证书信息的签名
以谷歌浏览器为例,也是可以看到这个证书的结构的,以www.baidu.com为例
1.4 证书的格式
1.5 PKI的必要性
1.6 证书申请的方式
在线申请:PKI实体支持通过SCEP(Simple Certificate Enrollment Protocol)或CMPv2(Certificate Management Protocol version 2)协议向CA发送证书注册请求消息来申请本地证书
离线申请:是指PKI实体使用PKCS#10格式打印出本地的证书注册请求消息并保存到文件中,然后通过带外方式(如Web、磁盘、电子邮件等)将文件发送给CA进行证书申请