hyperledger-fabric - Hyperledger fabric 加密 Material

标签 hyperledger-fabric hyperledger

如果我们在fabric-samplebasic-network中看到crypto-config文件夹,我们有各种不同类型的证书 Material :

└── 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),它将特定组件(同级和订购者)绑定(bind)到该组织。

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

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

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

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

并在您创建它们时查看内部​​文件夹中的不同证书。

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

关于hyperledger-fabric - Hyperledger fabric 加密 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157865/

相关文章:

node.js - 如何使用 Fabric Contract-API 检索在 Hyperledger Fabric 中发起交易的用户身份?

go - 我已经用 GoLang 编写了代码,那么如何使用 Hyper-ledger Fabric Composer 获取链码?

block - 如何从部署在使用 hyperledger-fabric 中的单个 channel 连接的两个不同组织对等体上的另一个链代码调用链代码?

super 账本结构 : No script

hyperledger - Hyperledger Fabric 共识服务可以分发吗?

java - 访问由 Hyperledger Composer Rest 服务器生成的服务器端的安全 Rest API

node.js - super 账本结构 1.4 : How to register to chaincode emitted events?

docker - 在 docker 中运行 couchdb 2.1 时出现错误

go - 如何将我的链码从本地转换为 super 账本结构中的对等体?

go - 单元测试 hyperledger fabric 链码 (GetPrivateData)