Hyperledger fabric 加密材料

Hyperledger fabric Crypto materials

如果我们在 fabric-samplebasic-network 中看到 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

感谢您的帮助

每个组织都需要一个唯一的根证书 (ca-cert),它将特定组件(同级和订购者)绑定到该组织。

Fabric 中的交易和通信由实体的私钥 (keystore) 签名,然后通过 public 密钥 (signcerts) 进行验证。

由于不同的组织也需要沟通或共享他们的账本,所以在组织层面需要 CA 或 MSP。在每个组织中,我们可以有多个同行,因此我们也需要对这些同行进行认证。甚至来自不同组织的对等点也可以相互加入,因此 signcerts(用于身份验证)和 TLScerts(用于安全握手)。

要查看这些是如何生成的,我建议您手动生成工件

http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html

并在您创建的文件夹中查看不同的证书。

这些是 fabcar 用来生成上述证书的密钥。