超级账本Fabric加密材料

3
如果我们在fabric-sample的basic-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

感谢您的帮助。

您可以在这里找到答案。https://stackoverflow.com/a/60100493/7550476 - Aditya Arora
1个回答

3
每个组织都需要一个唯一的根证书(ca-cert),将特定的组件(对等方和排序器)绑定到该组织。
在Fabric中,交易和通信由实体的私钥(keystore)签名,然后通过公钥(signcerts)进行验证。
由于不同的组织也需要通信或共享他们的账本,因此需要在组织级别上使用CA或MSP。在每个组织内,我们可以拥有多个对等方,因此我们需要为这些对等方进行认证。即使来自不同组织的对等方也可以相互加入,因此需要signcerts(用于身份验证)和TLScerts(用于安全握手)。
要查看这些是如何生成的,我建议您手动生成工件。

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

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

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


谢谢您的回答。 我已经阅读了文档,但仍然感到困惑。 我们如何从由cryptogen生成的整个证书层次结构中抓取3个文件,就像fabcar正在使用的那样。 以及我们需要使用哪些文件在NodeJS SDK中进行身份验证和验证对等方,这些文件是由cryptogen生成的证书。 - Asad Hayat
每个想要与账本交互的参与者(例如根证书、同行、排序器等)都必须通过其证书。这些证书默认存储在crypto-config文件夹中。使用以下链接了解如何创建证书并在配置中使用它们。http://hyperledger-fabric.readthedocs.io/en/release/build_network.html - kots
请你能否制作一个加密配置文件夹中所有文件夹的树形图,并对每个文件夹添加说明,说明它的用途是什么?如果我们有这样的东西,那将非常有帮助,因为现在非常混乱。我已经遇到了3天的问题,因为我没有使用正确的证书,我已经尝试了所有证书的 P&Cs。如果您可以将其记录在某个地方,比如在一篇中等文章或其他任何地方,它将节省很多时间 @kots - Bharat Chhabra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接