如果我们在 fabric-sample 的基本网络中看到 crypto-config 文件夹,我们会提供各种类型的各种证书材料:
└── example.com
├── ca
│ ├── 0d46ccf0e9436c1bc3b6e2bf80cdb202c4943604f95c72ee0ff839d3ec300719_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
│ │ │ └── 2fb065725bf1b7e2811c0e8ca8d37f5a951fc4cd1162a47aad8accf9ddd10291_sk
│ │ ├── signcerts
│ │ │ └── orderer.example.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.example.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── server.crt
│ └── server.key
├── tlsca
│ ├── 6a211ed18880b4db3867831c977809902713b8e321a5ab55ecc104dafc2eec49_sk
│ └── tlsca.example.com-cert.pem
└── users
└── Admin@example.com
├── msp
│ ├── admincerts
│ │ └── Admin@example.com-cert.pem
│ ├── cacerts
│ │ └── ca.example.com-cert.pem
│ ├── keystore
│ │ └── db670eed8487a93c35ae448b9f84c2f241a7a8c87df0544fc1dc08baf7832aa0_sk
│ ├── signcerts
│ │ └── Admin@example.com-cert.pem
│ └── tlscacerts
│ └── tlsca.example.com-cert.pem
└── tls
├── ca.crt
├── server.crt
└── server.key
任何人都可以解释为什么这些文件太多,为什么这些文件中的一些重复(例如 ca.example.com-cert.pem 有很多副本)并且有目的。
什么是 .pem 文件用于?
什么是 .crt 文件用于?
什么是 .key 文件用于?
用什么** ...._ sk **文件?
为什么 fabcar 示例仅通过使用3个文件来管理它。??
fabcar/creds
├── 5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-priv
├── 5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8-pub
└── PeerAdmin
感谢您的帮助
答案 0 :(得分:2)
每个组织都需要一个唯一的根证书(ca-cert),它将特定组件(同行和订购者)绑定到该组织。
Fabric中的事务和通信由实体的私钥(密钥库)签名,然后通过公钥(signcerts)进行验证。
由于不同的组织也需要沟通或共享其分类帐,因此在组织级别上需要CA或MSP。在每个组织中,我们可以拥有多个同行,因此我们也需要为这些同行提供认证即使来自不同组织的同行也可以互相加入,以便进行身份验证(用于身份验证)和TLScerts(用于安全握手)。
要了解这些是如何生成的,我建议您手动生成工件
http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html
并在创建文件夹时查看文件夹中的不同证书。
这些是fabcar用来生成上述证书的密钥。