hyperledger-fabric 生成组织结构及身份证书(手动)
msp:每个组织有个根证书
每个部门下面有自己的证书
查看模版文件
确定是在 fabric-samples/first-network
路径下
$ sudo ../bin/cryptogen showtemplate
修改组织结构模版文件:
模版文件:fabric-samples/first-network/crypto-config.yaml
fabric中有两个组件:Peer和Orderer
Orderer是用来形成共识的,决定写的操作顺序,通知发送给peer
组织结构:
OrdererOrgs:
- Name: Orderer order节点名称
Domain: example.com 域名
Specs:
- Hostname: orderer 主机名称
主机名称:域名
组织结构:
PeerOrgs:
- Name: Org1 peer节点
Domain: org1.example.com 域名
EnableNodeOUs: true
Template: # 指定Org1组织下的peer节点数量
Count: 1
Users: # 指定Org1组织下的user数量,都有管理员权,默认会有一个admin
Count: 2
Admin(默认)
User1
User2
节点名称:peer0.org1.example.com
- Name: Org2 组织二
Domain: org2.example.com
EnableNodeOUs: true
Template: # 指定Org2组织下的peer节点数量
Count: 1
Users: # 指定org2组织下的user数量,都有管理员权,默认会有一个admin
Count: 1
节点名称:peer0.org2.example.com 默认从peer0开始命名
生成组织关系和身份证书====
$ cd hyfa/fabric-samples/first-network/
为fabric网络生成指定拓扑结构的组织关系和身份证书
指定使用的配置文件
$ sudo ../bin/cryptogen generate --config=./crypto-config.yaml
此命令依赖
crypto-config.yaml
配置文件
会有如下输出:
org1.example.com
org2.example.com
证书和密钥(即MSP材料)将被输出到目录 first-network/crypto-config
的目录中
ordererOrganizations子目录下包括构成Orderer组织(1个Orderer节点)的身份信息
peerOrganizations子目录下为所有的Peer节点组织(2个组织, 4个节点)的相关身份信息. 其中最关键的是MSP目录, 代表了实体的身份信息
生成的组织结构整体框架图
➜ crypto-config git:(1252c7a) ✗ tree -L 3
.
├── ordererOrganizations
│ └── example.com
│ ├── ca
│ ├── msp
│ ├── orderers
│ ├── tlsca
│ └── users
└── peerOrganizations
├── org1.example.com
│ ├── ca
│ ├── msp
│ ├── peers
│ ├── tlsca
│ └── users
└── org2.example.com
├── ca
├── msp
├── peers
├── tlsca
└── users
组织结构详细目录
➜ crypto-config git:(1252c7a) ✗ tree
.
├── ordererOrganizations
│ └── example.com
│ ├── ca 作为order的根ca证书
│ │ ├── ca.example.com-cert.pem 证书
│ │ └── d042d57d1b7e24cd2af828e8780cebbd1a86c8f666d12bb9f4ced895e0e5b5f8_sk 私钥文件
│ ├── msp 成员服务提供,里面包括对应证书信息
│ │ ├── admincerts
│ │ │ └── Admin@example.com-cert.pem
│ │ ├── cacerts 同上面的根证书
│ │ │ └── ca.example.com-cert.pem
│ │ └── tlscacerts 同下面的tlsca根证书
│ │ └── tlsca.example.com-cert.pem
│ ├── orderers order节点的描述信息一个order可以搭建成集群环境(有的需求会出现多个order服务节点的情况)
│ │ └── orderer.example.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ │ └── Admin@example.com-cert.pem
│ │ │ ├── cacerts
│ │ │ │ └── ca.example.com-cert.pem
│ │ │ ├── keystore
│ │ │ │ └── 060f342790a79cf3f39c98e627d96c7ff2f34cfad9f5736cba865598727dd741_sk
│ │ │ ├── signcerts
│ │ │ │ └── orderer.example.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.example.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── server.crt
│ │ └── server.key
│ ├── tlsca tls根证书,代表真个组织的根证书,可以代替上面msp和各个节点里面的tls
│ │ ├── 86107d1158872c5ef3130e7679d4ee7dccfdbc22d23ce70a84119b3ac49e203d_sk
│ │ └── tlsca.example.com-cert.pem 根tlsca证书
│ └── users
│ └── Admin@example.com
│ ├── msp
│ │ ├── admincerts
│ │ │ └── Admin@example.com-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.example.com-cert.pem
│ │ ├── keystore
│ │ │ └── 54434260338005dc27522a061307ae1578c6c0646cd774a81d1e80d80da7bbad_sk
│ │ ├── signcerts
│ │ │ └── Admin@example.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.example.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── client.crt
│ └── client.key
└── peerOrganizations
├── org1.example.com
│ ├── ca
│ │ ├── 2d8a04ffa017463f180253907ad5de8698febad4859104bc8784ae6d8e569f26_sk
│ │ └── ca.org1.example.com-cert.pem
│ ├── msp
│ │ ├── admincerts
│ │ │ └── Admin@org1.example.com-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.org1.example.com-cert.pem
│ │ ├── config.yaml
│ │ └── tlscacerts
│ │ └── tlsca.org1.example.com-cert.pem
│ ├── peers
│ │ ├── peer0.org1.example.com
│ │ │ ├── msp
│ │ │ │ ├── admincerts
│ │ │ │ │ └── Admin@org1.example.com-cert.pem
│ │ │ │ ├── cacerts
│ │ │ │ │ └── ca.org1.example.com-cert.pem
│ │ │ │ ├── config.yaml
│ │ │ │ ├── keystore
│ │ │ │ │ └── b10886cb1ec2f215e729d440bfd5af924255d6e8eb04ebbd4d80ecae1e91dfa3_sk
│ │ │ │ ├── signcerts
│ │ │ │ │ └── peer0.org1.example.com-cert.pem
│ │ │ │ └── tlscacerts
│ │ │ │ └── tlsca.org1.example.com-cert.pem
│ │ │ └── tls
│ │ │ ├── ca.crt
│ │ │ ├── server.crt
│ │ │ └── server.key
│ │ └── peer1.org1.example.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ │ └── Admin@org1.example.com-cert.pem
│ │ │ ├── cacerts
│ │ │ │ └── ca.org1.example.com-cert.pem
│ │ │ ├── config.yaml
│ │ │ ├── keystore
│ │ │ │ └── 424fb625f08e9b70ea6b6ed2cfa2e5cfd2ba5de743996b2a424456f3f1b7a106_sk
│ │ │ ├── signcerts
│ │ │ │ └── peer1.org1.example.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.org1.example.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── server.crt
│ │ └── server.key
│ ├── tlscatls根证书,代表真个组织的根证书,可以代替上面msp和各个节点里面的tls
│ │ ├── 6fbafc28204a85f3d0cbf4c8d813e2fd4cfe484f85720875f1ce802fbe3980e1_sk
│ │ └── tlsca.org1.example.com-cert.pem tls根证书,可以代替上面msp中和各个节点的tls证书
│ └── users
│ ├── Admin@org1.example.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ │ └── Admin@org1.example.com-cert.pem
│ │ │ ├── cacerts
│ │ │ │ └── ca.org1.example.com-cert.pem
│ │ │ ├── keystore
│ │ │ │ └── a4eb450a1eb178242d2d762d0c2538639f44f6a78f941a66e53fb5064b3f24dd_sk
│ │ │ ├── signcerts
│ │ │ │ └── Admin@org1.example.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.org1.example.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── client.crt
│ │ └── client.key
│ └── User1@org1.example.com 就是模版中配置的user下面的count数量
│ ├── msp
│ │ ├── admincerts
│ │ │ └── User1@org1.example.com-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.org1.example.com-cert.pem
│ │ ├── keystore
│ │ │ └── 45b99a4abb9e3f56c957f9bfc3a05dd58ed06ef30ec8f7dd9b328182349c8656_sk
│ │ ├── signcerts
│ │ │ └── User1@org1.example.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org1.example.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── client.crt
│ └── client.key
└── org2.example.com
├── ca
│ ├── 617acba87a371d2507c1cd5e8022392079a9d69c873a729947c195feeae23a2f_sk
│ └── ca.org2.example.com-cert.pem
├── msp
│ ├── admincerts
│ │ └── Admin@org2.example.com-cert.pem
│ ├── cacerts
│ │ └── ca.org2.example.com-cert.pem
│ ├── config.yaml
│ └── tlscacerts
│ └── tlsca.org2.example.com-cert.pem
├── peers
│ ├── peer0.org2.example.com
│ │ ├── msp
│ │ │ ├── admincerts
│ │ │ │ └── Admin@org2.example.com-cert.pem
│ │ │ ├── cacerts
│ │ │ │ └── ca.org2.example.com-cert.pem
│ │ │ ├── config.yaml
│ │ │ ├── keystore
│ │ │ │ └── b4e00492b10b96f83f8c8c767683b1af6c944068fae75487ee19120685a88afe_sk
│ │ │ ├── signcerts
│ │ │ │ └── peer0.org2.example.com-cert.pem
│ │ │ └── tlscacerts
│ │ │ └── tlsca.org2.example.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt
│ │ ├── server.crt
│ │ └── server.key
│ └── peer1.org2.example.com
│ ├── msp
│ │ ├── admincerts
│ │ │ └── Admin@org2.example.com-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.org2.example.com-cert.pem
│ │ ├── config.yaml
│ │ ├── keystore
│ │ │ └── 90bda9afd75aad13e86028a6e8cc32fcaa660002c175b042be05a8a36b203497_sk
│ │ ├── signcerts
│ │ │ └── peer1.org2.example.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org2.example.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── server.crt
│ └── server.key
├── tlsca
│ ├── 5a6f19fa718fa8665334fc806ae93e6e9176ed2b7e571ab4b3b32bd423ad589a_sk
│ └── tlsca.org2.example.com-cert.pem
└── users
├── Admin@org2.example.com
│ ├── msp
│ │ ├── admincerts
│ │ │ └── Admin@org2.example.com-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.org2.example.com-cert.pem
│ │ ├── keystore
│ │ │ └── 16bc1cca9532f72524d9becdd33b5a1688825fae135846af05aa1412d1f7ca01_sk
│ │ ├── signcerts
│ │ │ └── Admin@org2.example.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org2.example.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── client.crt
│ └── client.key
└── User1@org2.example.com
├── msp
│ ├── admincerts
│ │ └── User1@org2.example.com-cert.pem
│ ├── cacerts
│ │ └── ca.org2.example.com-cert.pem
│ ├── keystore
│ │ └── dae816d9183e8c5a546686a909f260dc137bf7141263f29e55e17c5d89c258c2_sk
│ ├── signcerts
│ │ └── User1@org2.example.com-cert.pem
│ └── tlscacerts
│ └── tlsca.org2.example.com-cert.pem
└── tls
├── ca.crt
├── client.crt
└── client.key
网友评论