2.证书简述

Hyperchian区块链平台证书均符合ITU-T X.509国际标准,它仅包含了公钥信息而没有私钥信息,是可以公开进行发布的,所以X.509证书对象一般都不需要加密。X.509证书的格式通常如下:

  1. ---BEGIN CERTIFICATE---
  2. ……PEM编码的X.509证书内容(省略)……
  3. ---END CERTIFICATE---

PEM编码全称是Privacy Enhanced Mail,是一种保密邮件的编码标准。通常来说,对信息的编码过程基本如下:

  • 信息转换为ASCII码或其他编码方式,比如采用DER编码。
  • 使用对称加密算法加密经过编码的信息。
  • 使用BASE64对加密码后的信息进行编码。
  • 使用一些头定义对信息进行封装,主要包含了进行正确解码需要的信息。

除此以外Hyperchain区块链平台证书内具体包含以下信息:

1、X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。目前的版本是3。

2、证书持有人的公钥:包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其他相关的密钥参数。

3、证书的序列号:由CA给予每一个证书分配的唯一的数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL(Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。

4、主题信息:证书持有人唯一的标识符(或称DN-distinguished name)这个名字在 Internet上应该是唯一的。DN由许多部分组成,看起来象这样:

  1. CN=Bob Allen, OU=Total Network Security Division
  2. O=Network Associates, Inc.
  3. C=US

这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服务处所等信息。

5、证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。

6、认证机构:证书发布者,是签发该证书的实体唯一的CA的X.509名字。使用该证书意味着信任签发证书的实体。(注意:在某些情况下,比如根或顶级CA证书,发布者自己签发证书)

7、发布者的数字签名:这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。

8、签名算法标识符:用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法。