区块链教程 之Fabric1.0源代码分析cryptogen(生成组织关系和身份证书),2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。
cryptogen,用于生成组织关系和身份证书。
命令为:cryptogen generate --config=./crypto-config.yaml --output ./crypto-config
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: 2 Users: Count: 1
tree -L 5 crypto-config crypto-config ├── ordererOrganizations │ └── example.com │ ├── ca │ │ ├── 1366fb109b24c50e67c28b2ca4dca559eff79a85d53f833c8b9e89efdb4f4818_sk │ │ └── ca.example.com-cert.pem │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.example.com-cert.pem │ ├── orderers │ │ └── orderer.example.com │ │ ├── msp │ │ └── tls │ ├── tlsca │ │ ├── 1a1c0f88ee3c8c49c4a48c711ee7467675ce34d92733b02fbf221834eab4053b_sk │ │ └── tlsca.example.com-cert.pem │ └── users│ └── Admin@example.com │ ├── msp │ └── tls └── peerOrganizations ├── org1.example.com │ ├── ca │ │ ├── ca.org1.example.com-cert.pem │ │ └── db8cc18ebcac9670df5ec1c1e7fcdc359d70a0b1d82adeab012eea9f5131850b_sk │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@org1.example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.org1.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.org1.example.com-cert.pem │ ├── peers │ │ ├── peer0.org1.example.com │ │ │ ├── msp │ │ │ └── tls │ │ └── peer1.org1.example.com │ │ ├── msp │ │ └── tls │ ├── tlsca │ │ ├── 57dcbe74092cb46f126f1e9a58f9fd225d728a1b9b5b87383ece059476d48b40_sk │ │ └── tlsca.org1.example.com-cert.pem │ └── users │ ├── Admin@org1.example.com │ │ ├── msp │ │ └── tls │ └── User1@org1.example.com │ ├── msp │ └── tls └── org2.example.com ├── ca │ ├── 8a2b52e8deda65a3a6e16c68d86aa8c4a25f0c35921f53ce2959e9f2bca956cc_sk │ └── ca.org2.example.com-cert.pem ├── msp │ ├── admincerts │ │ └── Admin@org2.example.com-cert.pem │ ├── cacerts │ │ └── ca.org2.example.com-cert.pem │ └── tlscacerts │ └── tlsca.org2.example.com-cert.pem ├── peers │ ├── peer0.org2.example.com │ │ ├── msp │ │ └── tls │ └── peer1.org2.example.com │ ├── msp │ └── tls ├── tlsca │ ├── acd26c09f5c89d891d3806c8d1d71e2c442ee9a58521d981980a1d45ab4ba666_sk │ └── tlsca.org2.example.com-cert.pem └── users ├── Admin@org2.example.com │ ├── msp │ └── tls └── User1@org2.example.com ├── msp └── tls 59 directories, 21 files
tree crypto-config crypto-config ├── ordererOrganizations │ └── example.com │ ├── ca │ │ ├── 1366fb109b24c50e67c28b2ca4dca559eff79a85d53f833c8b9e89efdb4f4818_sk │ │ └── ca.example.com-cert.pem │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.example.com-cert.pem │ ├── orderers │ │ └── orderer.example.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@example.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.example.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── 71a37b3827738ec705ae92cc69adcaee1661d2445501b4189c576db9443c1edd_sk │ │ │ ├── signcerts │ │ │ │ └── orderer.example.com-cert.pem │ │ │ └── tlscacerts │ │ │ └── tlsca.example.com-cert.pem │ │ └── tls │ │ ├── ca.crt │ │ ├── server.crt │ │ └── server.key │ ├── tlsca │ │ ├── 1a1c0f88ee3c8c49c4a48c711ee7467675ce34d92733b02fbf221834eab4053b_sk │ │ └── tlsca.example.com-cert.pem │ └── users│ └── Admin@example.com │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.example.com-cert.pem │ │ ├── keystore │ │ │ └── 0830c91efdcf15869e4c8b1cb9de5774376eff5ef1b447f1c5642b8c4ebef9d5_sk │ │ ├── signcerts │ │ │ └── Admin@example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.example.com-cert.pem │ └── tls │ ├── ca.crt │ ├── server.crt │ └── server.key └── peerOrganizations ├── org1.example.com │ ├── ca │ │ ├── ca.org1.example.com-cert.pem │ │ └── db8cc18ebcac9670df5ec1c1e7fcdc359d70a0b1d82adeab012eea9f5131850b_sk │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@org1.example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.org1.example.com-cert.pem │ │ └── 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 │ │ │ │ ├── keystore │ │ │ │ │ └── 840f933728d2d1e2406768147f1c50d0f64fa0fd01901e5bb07f622462fd6ab6_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 │ │ │ ├── keystore │ │ │ │ └── 19b17095ed9a62378004727148aa5dfb70dfcd1275ce9a77d187fb84d1703971_sk │ │ │ ├── signcerts │ │ │ │ └── peer1.org1.example.com-cert.pem │ │ │ └── tlscacerts │ │ │ └── tlsca.org1.example.com-cert.pem │ │ └── tls │ │ ├── ca.crt │ │ ├── server.crt │ │ └── server.key │ ├── tlsca │ │ ├── 57dcbe74092cb46f126f1e9a58f9fd225d728a1b9b5b87383ece059476d48b40_sk │ │ └── tlsca.org1.example.com-cert.pem │ └── users │ ├── Admin@org1.example.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@org1.example.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.org1.example.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── 2cb5be9ab061194b10d558302be57699516493dbe5b567e5ccadcd8157462601_sk │ │ │ ├── signcerts │ │ │ │ └── Admin@org1.example.com-cert.pem │ │ │ └── tlscacerts │ │ │ └── tlsca.org1.example.com-cert.pem │ │ └── tls │ │ ├── ca.crt │ │ ├── server.crt │ │ └── server.key │ └── User1@org1.example.com │ ├── msp │ │ ├── admincerts │ │ │ └── User1@org1.example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.org1.example.com-cert.pem │ │ ├── keystore │ │ │ └── 32c9696f3572dfc03eddb240ea4f0e8962a171ff86e60c42993b7f68eaaab123_sk │ │ ├── signcerts │ │ │ └── User1@org1.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.org1.example.com-cert.pem │ └── tls │ ├── ca.crt │ ├── server.crt │ └── server.key └── org2.example.com ├── ca │ ├── 8a2b52e8deda65a3a6e16c68d86aa8c4a25f0c35921f53ce2959e9f2bca956cc_sk │ └── ca.org2.example.com-cert.pem ├── msp │ ├── admincerts │ │ └── Admin@org2.example.com-cert.pem │ ├── cacerts │ │ └── ca.org2.example.com-cert.pem │ └── 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 │ │ │ ├── keystore │ │ │ │ └── 309fdb2f24b215f4cb097ade93b5b4c4dbda517fc646ddec572b3d8e24fa3b6c_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 │ │ ├── keystore │ │ │ └── 97b1fdcaab782d0f768dbd9ef867fafe246c27fd471782330cba0d0e36898516_sk │ │ ├── signcerts │ │ │ └── peer1.org2.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.org2.example.com-cert.pem │ └── tls │ ├── ca.crt │ ├── server.crt │ └── server.key ├── tlsca │ ├── acd26c09f5c89d891d3806c8d1d71e2c442ee9a58521d981980a1d45ab4ba666_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 │ │ │ └── ea0f817adb699880824dbcefb7f88d439ee590c09e64a2f42ff39473c5cc1ea9_sk │ │ ├── signcerts │ │ │ └── Admin@org2.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.org2.example.com-cert.pem │ └── tls │ ├── ca.crt │ ├── server.crt │ └── server.key └── User1@org2.example.com ├── msp │ ├── admincerts │ │ └── User1@org2.example.com-cert.pem │ ├── cacerts │ │ └── ca.org2.example.com-cert.pem │ ├── keystore │ │ └── db11744d4c4a66ee04f783498d896099b275bd2cd2e2e2c188bde880041d8b1e_sk │ ├── signcerts │ │ └── User1@org2.example.com-cert.pem │ └── tlscacerts │ └── tlsca.org2.example.com-cert.pem └── tls ├── ca.crt ├── server.crt └── server.key 109 directories, 101 files
目录结构解读:
每个组织下,都包括ca、tlsca、msp、peers(或orderers)、users5个目录。如下以peer为例。
每个组织下,有3种身份,组织本身、节点、用户。
组织本身,包括ca、tlsca、msp三种信息,即组织的根证书、组织的根TLS证书、组织的身份信息。
其中ca、和tlsca,均包括根证书和私钥。
组织本身msp目录,包括ca根证书、tlsca根证书、管理员证书。
每个节点目录下,包括msp和tls两个目录,即节点的身份信息,以及tls相关的证书和私钥。
其中msp目录包括5种信息,cacerts、tlscacerts、signcerts为根证书、tls根证书和管理员证书,keystore、signcerts为节点的签名私钥和节点证书。
其中tls目录,包括tls根证书,以及tls版本节点证书和私钥。
每个用户目录下,也包括msp和tls两个目录,即用户的身份信息,以及tls版本用户身份信息。
其中msp目录下包括5种信息,cacerts、tlscacerts、signcerts为根证书、tls根证书和管理员证书,keystore、signcerts为用户的签名私钥和节点证书。
其中tls目录,包括tls根证书,以及tls版本用户证书和私钥。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31557831/viewspace-2218098/,如需转载,请注明出处,否则将追究法律责任。