数字证书
小明和小花进行通信,小花要在网络中验证发来消息的人到底是不是小明,是不是被其他人篡改,就需要数字证书来验证。CA机构先核实小明身份,再给小明颁发一个数字证书,证书中包含了小明的身份信息和公钥等信息,而小红就是通过这个数字证书来验证是不是小明。
X.509信息
X.509 标准规定了证书可以包含什么信息,并说明了记录信息的方法(数据格式)。除了签名外,所有 X.509 证书还包含以下数据:
名称 | 含义 |
---|---|
版本 | 识别用于该证书的 X.509 标准的版本,这可以影响证书中所能指定的信息。迄今为止,已定义的版本有三个。 |
序列号 | 发放证书的实体有责任为证书指定序列号,以使其区别于该实体发放的其它证书。此信息用途很多。例如,如果某一证书被撤消,其序列号将放到证书撤消清单 (CRL) 中。 |
签名算法标识符 | 用于识别 CA 签写证书时所用的算法。 |
签发人姓名 | 签写证书的实体的 X.500 名称。它通常为一个 CA。 使用该证书意味着信任签写该证书的实体(注意:有些情况下(例如根或顶层 CA 证书),签发人会签写自己的证书)。 |
有效期 | 每个证书均只能在一个有限的时间段内有效。该有效期以起始日期和时间及终止日期和时间表示,可以短至几秒或长至一世纪。所选有效期取决于许多因素,例如用于签写证书的私钥的使用频率及愿为证书支付的金钱等。它是在没有危及相关私钥的条件下,实体可以依赖公钥值的预计时间。 |
主体名 | 证书可以识别其公钥的实体名。此名称使用 X.500 标准,因此在Internet中应是唯一的。它是实体的特征名 (DN),例如, CN=Java Duke,OU=Java Software Division,O=Sun Microsystems Inc,C=US (这些指主体的通用名、组织单位、组织和国家)。 |
主体公钥信息 | 这是被命名实体的公钥,同时包括指定该密钥所属公钥密码系统的算法标识符及所有相关的密钥参数。 |
颁发给csdn的数字证书如下:
成员 | 格式 |
---|---|
版本号 | INTEGER |
序列号 | INTEGER |
签名算法 | OBJECT |
颁发者 | SET |
有效期 | UTC_TIME |
主体 | SET |
主体公钥 | BIT_STRING |
主体公钥算法 | OBJECT |
签名值 | BIT_STRING |
常见的X.509证书格式包括:
cer/crt是用于存放证书,它是2进制形式存放的,不含私钥。
pem跟crt/cer的区别是它以Ascii来表示,可以用于存放证书或私钥。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式。
p10是证书请求。
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。