![](https://csdnimg.cn/release/download_crawler_static/10661379/bg4.jpg)
OrdererOrgs:
- Name: Orderer
Domain: example.com
Specs:
- Hostname: orderer
PeerOrgs:
- Name: Org1
Domain: org1.example.com
Template:
Count: 2
Users:
Count: 1
- Name: Org2
Domain: org2.example.com
Template:
Count: 1
Users:
Count: 1
然后执行 crypto,生成证书:
./bin/cryptogen generate --config=crypto-config.yaml --output ./certs
certs 目录下生成了两个目录:
$ ls ./certs/
ordererOrganizations peerOrganizations
certs 目录的内容比较多,并且目录很深,需要提前说明一下。搞清楚了这里面文件的含义,就懂了一半。
以 certs/ordererOrganizations/example.com/orderers/orderer.example.com/ 目录中内容为例。
这里目录中的内容是用于 orderer.example.com 的,里面有两个子目录 tls 和 msp :
$ tree certs/ordererOrganizations/example.com/orderers/orderer.example.com/
certs/ordererOrganizations/example.com/orderers/orderer.example.com/
|-- msp
| |-- admincerts
| | -- Admin@example.com-cert.pem
| |-- cacerts
| | -- ca.example.com-cert.pem
| |-- keystore
| | -- 16da15d400d4ca4b53d369b6d6e50a084d4354998c3b4d7a0934635d3907f90f_sk
| |-- signcerts
| | -- orderer.example.com-cert.pem
| -- tlscacerts
| -- tlsca.example.com-cert.pem
-- tls
|-- ca.crt
|-- server.crt
-- server.key
tls 目录中的内容很好理解,它是 order 对外服务时使用的私钥(server.key)和证书(server.crt),
ca.crt 是签注这个证书的 CA,需要提供给发起请求的一端。
msp 中有五个目录,对区块链进行操作时需要使用这些文件。
msp/admincerts 中存放的是用户证书,使用该证书的用户对 orderer.example.com 具有管理权限。
msp/cacerts 是签署 msp/signcerts 中用户证书的 ca,可以用来校验用户的证书: