证书管理
简介
ChainMaker区块链网络中使用的证书类型有三大类 CA证书
节点证书
用户证书
。
CA证书
: 可以是根CA证书、中间CA证书、自签CA证书,其余两类证书都是使用CA证书
签名生成。
节点证书
: 细分为共识节点、同步节点、轻节点使用的证书。同步节点和轻节点证书类型相同。
用户证书
: 细分为管理员用户证书、普通用户证书。分别对应管理员权限和普通用户权限。
下面详细介绍ChainMaker网络中各类证书。
证书
CA证书
一般每个组织一个CA证书
。
CA证书
可通过 chainmaker-cryptogen 或者自建的 CA证书服务 生成,也可通过向证书颁发机构申请获得。
本组织的所有节点证书
以及用户证书
都是由此CA证书
签发生成。
节点证书类
每个组织至少有一个共识节点,也可以部署多个。
每个组织可以有若干同步和轻节点,也可以不部署。
不管什么类型的节点,每个节点都会有一个节点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
用户证书类
用户证书类分为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
链上变更
组织CA证书类
附录
节点证书、用户证书字段
节点证书和用户证书字段通用
字段 | 含义 | 规范 |
---|---|---|
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 |