4. 证书管理

4.1. 简介

ChainMaker区块链网络中使用的证书类型有三大类 CA证书 节点证书 用户证书
CA证书: 可以是根CA证书、中间CA证书、自签CA证书,其余两类证书都是使用CA证书签名生成。
节点证书: 细分为共识节点、同步节点、轻节点使用的证书。同步节点和轻节点证书类型相同。
用户证书: 细分为管理员用户证书、普通用户证书。分别对应管理员权限和普通用户权限。
下面详细介绍ChainMaker网络中各类证书。

4.2. 证书

4.2.1. CA证书

一般每个组织一个CA证书
CA证书可通过 chainmaker-cryptogen 或者自建的 CA证书服务 生成,也可通过向证书颁发机构申请获得。
本组织的所有节点证书以及用户证书都是由此CA证书签发生成。

4.2.2. 节点证书类

每个组织至少有一个共识节点,也可以部署多个。
每个组织可以有若干同步和轻节点,也可以不部署。
不管什么类型的节点,每个节点都会有一个节点TLS证书和一个节点SIGN证书,其证书字段详见节点证书、用户证书字段

  • 共识节点

    • 节点TLS证书

      用于跟客户端建立tls链接,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=consensus // 共识节点证书必须为consensus
      CN=consensus1.wx-org1.chainmaker.org
      sans=localhost // 用于tls的证书sans字段必填
      
    • 节点SIGN证书

      用于签名验签等等,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=consensus // 共识节点证书必须为consensus
      CN=consensus1.wx-org1.chainmaker.org
      
  • 同步节点、轻节点

    同步节点与轻节点的证书规格完全一致,以下示例都互相适用,不再重复举例。

    • 节点TLS证书

      用于跟客户端建立tls链接,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=common // 同步节点/轻节点证书必须为common
      CN=consensus1.wx-org1.chainmaker.org
      sans=localhost // 用于tls的证书sans字段必填
      
    • 节点SIGN证书

      用于签名验签等等,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=common // 同步节点/轻节点证书必须为common
      CN=consensus1.wx-org1.chainmaker.org
      

4.2.3. 用户证书类

用户证书类分为admin证书类分配给管理员用户使用和client证书类分配给普通用户使用。
每个组织至少有一个管理员用户和若干个普通用户
不管什么类型的用户,每个用户都会有一个用户TLS证书和一个用户SIGN证书,其证书字段详见节点证书、用户证书字段

  • admin证书类

    • 用户TLS证书

      用于跟节点建立tls链接,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=admin // 管理员用户必须为admin
      CN=admin1.wx-org1.chainmaker.org
      
    • 用户SIGN证书

      用于签名验签等等,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=admin // 管理员用户必须为admin
      CN=admin1.wx-org1.chainmaker.org
      
  • client证书类

    • 用户TLS证书

      用于跟节点建立tls链接,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=client // 普通用户必须为client
      CN=client1.wx-org1.chainmaker.org
      
    • 用户SIGN证书

      用于签名验签等等,使用CA证书签发获得,证书字段信息如下示例:

      O=wx-org1.chainmaker.org
      OU=client // 普通用户必须为client
      CN=client1.wx-org1.chainmaker.org
      

4.4. 附件

4.4.1. 节点证书、用户证书字段

节点证书和用户证书字段通用

字段 含义 规范
C country 国家 如:CN
L locality 位置(城市) 如:Guangzhou
ST state 省份(州) 如:Guangdong
O organization 组织 对应chainmaker的组织ID(orgId)如:wx-org1.chainmaker.org
OU organizationalUnit 组织单位 对应chainmaker里的用户角色:consensus/common/admin/client
CN commonName 常用名 chainmaker里通常以用户ID+组织ID形式,如:ca.wx-testorg.chainmaker.org、admin1.wx-org1.chainmaker.org、consensus1.wx-org1.chainmaker.org、client1.wx-org1.chainmaker.org
expireYear 证书有效期 以年为单位 如:2
sans 节点证书的地址信息 可为节点地址IP,也可以是节点域名 如:consensus1.wx-org1.chainmaker.org