案例要求:模拟建立一个有三个组织的Fabric系统,在该系统中每个组织都有自己独立的CA服务,每个组织内都有Peer节点与用户,所有组织公用一个具有负载均衡功能的Orderer节点群,并且这些Orderer节点可以任意扩展。
注:fabric各个模块脚本均在/hyperledger/fabric-samples/bin/目录下
1.编写cryptogen文件
1.1创建一个文件夹用于存放配置文件与证书
mkdir /var/qklszzn
1.2编写crypto-cinfig.yaml文件
# ---------------------------------------------------------------------------
# "OrdererOrgs" - 管理orderer节点的组织的定义
# ---------------------------------------------------------------------------
OrdererOrgs: # 定义管理orderer节点的组织
# ---------------------------------------------------------------------------
# Orderer
# ---------------------------------------------------------------------------
- Name: Orderer #这个组织的名字叫 Orderer
Domain: qklszzn.com #这个组织的域名是 hmw.com
# 生成证书的时候,证书内会包含Name和Domain信息,orderer.hmw.com就是这个组织的地址
EnableNodeOUs: true
# ---------------------------------------------------------------------------
# "Specs"
# ---------------------------------------------------------------------------
Specs:
- Hostname: orderer
PeerOrgs:
- Name: Org1 #组织名称
Domain: org1.qklszzn.com #域名称
EnableNodeOUs: true
# 如果设置了 EnableNodeOUs ,就在msp下生成config.yaml文件
Template: # 组织中peer节点的数目
Count: 2
Users:
Count: 1 #除Admin之外的用户账户数目
- Name: Org2 #组织名称
Domain: org2.qklszzn.com #域名称
EnableNodeOUs: true
# 如果设置了 EnableNodeOUs ,就在msp下生成config.yaml文件
Template: # 组织中peer节点的数目
Count: 2
Users:
Count: 1 #除Admin之外的用户账户数目
- Name: Org3 #组织名称
Domain: org3.qklszzn.com #域名称
EnableNodeOUs: true
# 如果设置了 EnableNodeOUs ,就在msp下生成config.yaml文件
Template: # 组织中peer节点的数目
Count: 2
Users:
Count: 1 #除Admin之外的用户账户数目
将上述内容保存到名为crypto-config.yaml配置文件中,然后将该配置文件保存到文件夹/var/qklszzn下。最后调用cryptogen模块生成先关的配置文件,命令如下:
cryptogen generate --config=./organizations/cryptogen/crypto-config.yaml --output ./crypto-config
命令调用成功后,生成的配置文件会保存到当前目录下的crypto-config文件夹下。
2.总结
cryptogen是 fabric 产生证书的工具,但是这个产生的是静态。和 cryptogen 工具对等的就是 CA服务,CA就是一种动态的证书生产方式,一般来说,cryptogen 用于开发和测试阶段,在实际生产中,还是需要用CA服务来动态分配证书。