本文已参与「开源摘星计划」,欢迎正在阅读的你加入。活动链接: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: sm2pk_algo: ecc_p256ski_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 SKIspecs: &specs_ref expire_year: 10 sans: - chainmaker.org - localhost - 127.0.0.1location: &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: 5user: - 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 证书签名生成。
节点证书: 分为共识节点、普通节点证书。
用户证书: 分为管理员用户证书、普通用户证书、轻节点用户证书。
评论