本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接:https://github.com/weopenprojects/WeOpen-Star
长安链学习笔记-证书研究之证书模式
在第一篇文章中,我们知道了怎么下载证书工具源码,并进行编译证书工具,但生成证书的时候,我们是基于脚本来生成的,整个是一个黑盒,我们不知道里面发生了什么,所以本章主要是来研究这个黑盒。
1.证书配置模板
长安链一共有三种证书配置模板:
(1)证书模式
(2)公钥身份模式
(3)公链模式
2.证书模式
(1)配置模板
/root/chainmaker-learn/chainmaker-go/tools/chainmaker-cryptogen/config/crypto_config_template.yml
crypto_config:
- domain: chainmaker.org
host_name: wx-org
count: 4 # 如果为1,直接使用host_name,否则添加递增编号
# pk_algo: sm2
pk_algo: ecc_p256
ski_hash: sha256
#pkcs11配置
pkcs11:
enabled: false
library: /usr/local/lib64/pkcs11/libupkcs11.so
label: HSM
password: 11111111
session_cache_size: 10
hash: "SHA256" # hash algorithm used to compute SKI
specs: &specs_ref
expire_year: 10
sans:
- chainmaker.org
- localhost
- 127.0.0.1
location: &location_ref
country: CN
locality: Beijing
province: Beijing
# CA证书配置
ca:
location:
<<: *location_ref
specs:
<<: *specs_ref
# 节点证书配置
node:
- type: consensus
# 共识节点数量
count: 1
# 共识节点配置
location:
<<: *location_ref
specs:
<<: *specs_ref
expire_year: 5
- type: common
# 普通节点数量
count: 1
# 普通节点配置
location:
<<: *location_ref
specs:
<<: *specs_ref
expire_year: 5
user:
- type: admin
# 管理员证书数量
count: 1
# 管理员证书配置
location:
<<: *location_ref
expire_year: 5
- type: client
# 普通用户证书数量
count: 1
# 普通用户证书配置
location:
<<: *location_ref
expire_year: 5
- type: light
# 轻节点用户证书数量
count: 1
# 轻节点用户证书配置
location:
<<: *location_ref
expire_year: 5
复制代码
(2)生成证书
我们先生成下证书,看看生成了哪些证书
./chainmaker-cryptogen generatetree -L 3 crypto-config/
3.证书及模板含义分析
通过生成证书情况,我们可以研究配置模板每个字段的含义
(1) 组织数量
-domain: chainmaker.org
通过 count 可以配置组织数量,每个组织名称由 host_name +domain 组成, 其中 host_name 后面会按组织数量拼一个编号。
(2)每个节点下面都有三个目录,由相应的配置进行配置
分别是 ca 目录,Node 目录,User 目录,这三个目录分别代表了三类证书
CA 证书: 可以是根 CA 证书、中间 CA 证书、自签 CA 证书,其余两类证书都是使用 CA 证书签名生成。
节点证书: 分为共识节点、普通节点证书。
用户证书: 分为管理员用户证书、普通用户证书、轻节点用户证书。
评论