「PKI」- 数字证书( Digital Certificate,Public Key Certificate)

  CREATED BY JENKINSBOT

解决方案

在数字签名中,为了防止 PublicKey 被篡改,所以产生 数字证书 这一概念。数字证书技术解决了数字签名技术中无法确定公钥是指定拥有者的问题;

数字证书简称证书,它是一个经证书授权中心 〈即在PKI中的证书认证机构CA) 数字签名的文件,包含拥有者的公钥及相关身份信息。数字证书可以说是Internet上的安全护照或身份证。当人们到其他国家旅行时,用护照可以证实其身份,并被获准进入这个国家。数字证书提供的是网络上的身份证明;

公钥的载体;数字证书的格式 X.509(常用格式);由受信任的机构颁发;数字证书的存储

证书类型

1)自签名证书:又称为根证书,是自己颁发给自己的证书,即证书中的颁发者和主体名相同。当申请者无法向CA申请本地证书时,可以通过设备生成自签名证书,可以实现简单证书颁发功能。设备不支持对其生成的自签名证书进行生命周期管理(如证书更新、证书撤销等);

2)CA 证书:CA 自身的证书。如果 PKI 系统中没有多层级 CA,CA 证书就是自签名证书;如果有多层级 CA,则会形成一个 CA 层次结构,最上层的 CA 是 Root CA,它拥有一个 CA“自签名”的证书。申请者通过验证 CA 的数字签名从而信任 CA,任何申请者都可以得到CA的证书(含公钥),用以验证它所颁发的本地证书;

4)本地证书:CA 颁发给申请者的证书;

5)设备本地证书:设备根据 CA 证书给自己颁发的证书,证书中的颁发者名称是 CA 服务器的名称。申请者无法向 CA 申请本地证书时,可以通过设备生成设备本地证书,可以实现简单证书颁发功能;

证书结构

最简单的证书包含:一个公钥、名称、证书授权中心(CA)的数字签名;

通常证书中还包括:密钥的有效期,颁发者(证书授权中心,CA)的名称,该证书的序列号 等等信息

证书的结构遵循 X.509 v3 版本的规范;

证书内容中各字段含义

版本:即使用 X.509 的版本,目前普遍使用的是 v3 版本(0x2);
序列号:颁发者分配给证书的一个正整数,同一颁发者颁发的证书序列号各不相同,可用与颁发者名称一起作为证书唯一标识;
签名算法:颁发者颁发证书使用的签名算法;
颁发者:颁发该证书的设备名称,必须与颁发者证书中的主体名一致。通常为CA服务器的名称;
有效期:包含有效的起、止日期,不在有效期范围的证书为无效证书;
主体名:证书拥有者的名称,如果与颁发者相同则说明该证书是一个自签名证书;
公钥信息:用户对外公开的公钥以及公钥算法信息;
扩展信息:通常包含 证书的用法、CRL的发布地址 等可选字段;
签名:颁发者用私钥对证书信息的签名;

证书格式

证书的格式,是指证书保存在文本文件中的格式;

设备支持三种文件格式保存证书:
1)pkcs#12:以二进制格式保存证书,可以包含私钥,也可以不包含私钥。常用的后缀有:.P12;.PFX;
2)DER:以二进制格式保存证书,不包含私钥。常用的后缀有:.DER;.CER;.CRT;
3)PEM:以 ASCII 码格式保存证书,可以包含私钥,也可以不包含私钥。常用的后级有:.PEM;.CER;.CRT;

补充说明

1)我们本地存储着受信 CA 的公钥;
2)通过 CA 的公钥、签名、公开密钥 来校验该公钥是否为合法的;

参考文献

Public key certificate – Wikipedia