工具默认生成结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
| ├── ordererOrganizations [排序组织] │ └── order.com │ ├── ca │ │ ├── 51d4e0177748d40336debef3e543521f442f82b548b109cd90cbe151ef669212_sk │ │ └── ca.order.com-cert.pem │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@order.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.order.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.order.com-cert.pem │ ├── orderers │ │ └── orderer.order.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@order.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.order.com-cert.pem │ │ │ ├── keystore │ │ │ │ └── 180a6d9f4754eaaac2cd648668623be47e35e5c0018b927b5f82efef58a650d1_sk │ │ │ ├── signcerts │ │ │ │ └── orderer.order.com-cert.pem │ │ │ └── tlscacerts │ │ │ └── tlsca.order.com-cert.pem │ │ └── tls │ │ ├── ca.crt │ │ ├── server.crt │ │ └── server.key │ ├── tlsca │ │ ├── d98956ded7c42a4e35b668adb498ee18b93dd4d1f99e4d39a0dc8f3f78dc969f_sk │ │ └── tlsca.order.com-cert.pem │ └── users │ └── Admin@order.com │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@order.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.order.com-cert.pem │ │ ├── keystore │ │ │ └── 94738b964081e602b6043f0975b9b64799e450c506681d0660b047d458196462_sk │ │ ├── signcerts │ │ │ └── Admin@order.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.order.com-cert.pem │ └── tls │ ├── ca.crt │ ├── client.crt │ └── client.key └── peerOrganizations [节点组织] ├── government.peer.com │ ├── ca [组织Government的根证书和私钥] │ │ ├── ca.government.peer.com-cert.pem [ca.government.peer.com] │ │ └── d7a91d3adecd49c742f6cec9287783f5412d865310311de6dde3041eff432231_sk [私钥] │ ├── msp [组织身份证书信息] │ │ ├── admincerts │ │ ├── cacerts │ │ │ └── ca.government.peer.com-cert.pem [CA根证书] │ │ ├── config.yaml │ │ └── tlscacerts │ │ └── tlsca.government.peer.com-cert.pem [TLS根证书] │ ├── peers [存放属于该组织的所有Peer节点] │ │ └── peer0.government.peer.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@government.peer.com-cert.pem [组织管理员的身份验证证书,节点使用此证书验证管理员。] │ │ │ ├── cacerts │ │ │ │ └── ca.government.peer.com-cert.pem [CA根证书] │ │ │ ├── config.yaml │ │ │ ├── keystore │ │ │ │ └── 6900d2e33c34cfe8bc8b6413e0d587cb057337de654133ab6813eaba4bc07f17_sk [本节点的身份私钥,节点标识签名] │ │ │ ├── signcerts │ │ │ │ └── peer0.government.peer.com-cert.pem [节点的证书] │ │ │ └── tlscacerts │ │ │ └── tlsca.government.peer.com-cert.pem [TLS根证书] │ │ └── tls │ │ ├── ca.crt == tlsca.government.peer.com-cert.pem [TLS通信CA证书] │ │ ├── server.crt [TLS通信服务端证书] │ │ └── server.key [TLS通信服务私钥] │ ├── tlsca │ │ ├── 927e236a93f0581a92ccb1c4d65dd8e9bae1e1557725d79747d60f26b874d55c_sk [TLS根证书私钥] │ │ └── tlsca.government.peer.com-cert.pem [TLS根证书] │ └── users [存放属于该组织的用户的实体] │ └── Admin@government.peer.com │ ├── msp │ │ ├── admincerts │ │ ├── cacerts │ │ │ └── ca.government.peer.com-cert.pem [管理员签发CA根证书] │ │ ├── config.yaml │ │ ├── keystore │ │ │ └── d0c1b5d5d6a88ea0a477b2799c8702fe4704765c8f192aadddb626e8e4128cf1_sk [组织管理员私钥] │ │ ├── signcerts │ │ │ └── Admin@government.peer.com-cert.pem [组织管理员证书] │ │ └── tlscacerts │ │ └── tlsca.government.peer.com-cert.pem │ └── tls │ ├── ca.crt == tlsca.government.peer.com-cert.pem [组织tls根证书] │ ├── client.crt [TLS通信客户端证书] │ └── client.key [TLS通信客户端私钥] └── public.peer.com ├── ca │ ├── c4752a7c5c82202eb60f2776edd506f8a12fc18a263c98333908b7982cecc348_sk │ └── ca.public.peer.com-cert.pem ├── msp │ ├── admincerts │ ├── cacerts │ │ └── ca.public.peer.com-cert.pem │ ├── config.yaml │ └── tlscacerts │ └── tlsca.public.peer.com-cert.pem ├── peers │ └── peer0.public.peer.com │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@public.peer.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.public.peer.com-cert.pem │ │ ├── config.yaml │ │ ├── keystore │ │ │ └── c3d1f75d9e6a4ab2c80ea6a27e3dd26aeb2b8a47b35ef9e39d66a6e915f33577_sk │ │ ├── signcerts │ │ │ └── peer0.public.peer.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.public.peer.com-cert.pem │ └── tls │ ├── ca.crt │ ├── server.crt │ └── server.key ├── tlsca │ ├── 4898d32e49c06d7045a9d2f6e5ef047ab2ec472a76fd83bcd243c36f90d9c09b_sk │ └── tlsca.public.peer.com-cert.pem └── users └── Admin@public.peer.com ├── msp │ ├── admincerts │ ├── cacerts │ │ └── ca.public.peer.com-cert.pem │ ├── config.yaml │ ├── keystore │ │ └── 2f4c9c32ff8ec24d7ef680407ef636b6c5802108fc16e655525939ad01a87364_sk │ ├── signcerts │ │ └── Admin@public.peer.com-cert.pem [] │ └── tlscacerts │ └── tlsca.public.peer.com-cert.pem └── tls ├── ca.crt ├── client.crt └── client.key
|
查看节点证书信息
1
| openssl x509 -in peers/peer0.government.peer.com/msp/signcerts/peer0.government.peer.com-cert.pem -text -noout
|
验证节点证书的签发机构
1 2 3 4 5 6 7
| openssl verify -CAfile ca/ca.government.peer.com-cert.pem peers/peer0.government.peer.com/msp/signcerts/peer0.government.peer.com-cert.pem peers/peer0.government.peer.com/msp/signcerts/peer0.government.peer.com-cert.pem: OK
openssl x509 -text -in peers/peer0.government.peer.com/msp/signcerts/peer0.government.peer.com-cert.pem | grep OU= Subject: C=CN, ST=Sichuan, L=Chengdou, OU=peer, CN=peer0.government.peer.com
OU类型是peer。
|
验证Government组织的管理员证书签发机构。
1 2 3 4 5 6 7
| openssl verify -CAfile ca/ca.government.peer.com-cert.pem users/Admin@government.peer.com/msp/signcerts/Admin@government.peer.com-cert.pem users/Admin@government.peer.com/msp/signcerts/Admin@government.peer.com-cert.pem: OK
openssl x509 -text -in users/Admin@government.peer.com/msp/signcerts/Admin@government.peer.com-cert.pem | grep OU Subject: C=CN, ST=Sichuan, L=Chengdou, OU=admin, CN=Admin@government.peer.com
OU类型是admin。
|
在Fabric中CA有2类,一类是通信层面的TLS证书。另外一个层面是节点,用户层面的证书,这块证书是涉及节点权限,用户访问权限的控制。
TLS的CA表示着,访问端口的时候,需要带上对应端口使用的TLSCA证书文件。