添加订购者和交换加密货币时出现 hyperledger TLS 问题 material

hyperledger TLS problem when adding an orderer and exchanging crypto material

我目前正在尝试向我们的 运行 网络添加一个额外的组织(具有自己的排序节点)。我不确定在您应该 "port the Orderer Org’s MSP material into the Org3 crypto-config directory" 的步骤中(确切地)需要复制什么。 (参考:https://hyperledger-fabric.readthedocs.io/en/release-1.4/channel_update_tutorial.html#generate-the-org3-crypto-material) 我试图包括除私钥之外的所有内容,但这导致了每个组织的订购者之间的 tls 问题。 包括私钥(即复制命令显示的所有内容)解决了 tls 问题。但我无法想象这是预期的方法。我错过了什么吗?

configtx.yaml 中引用的组织 public 加密 material 具有以下结构:

使用 NodeOU:

msp
├── cacerts
│   └── localhost-ca.pem
├── config.yaml
├── IssuerPublicKey
├── IssuerRevocationPublicKey
└── tlscacerts
    └── tls-localhost-7054-ca.pem

没有 NodeOU:

msp
├── admincerts
│   └── admin.pem
├── cacerts
│   └── localhost-ca.pem
├── IssuerPublicKey
├── IssuerRevocationPublicKey
└── tlscacerts
    └── tls-localhost-7054-ca.pem

我认为IssuerPublicKeyIssuerRevocationPublicKey不是必需的,但是fabric-ca-client生成它们并且它们是public,所以我留下它们。

如果您正在使用 EtcdRaft 共识,您还需要按照 ClientTLSCertServerTLSCert 中的描述访问排序者的 public 证书12=]。 EtcdRaft 需要 TLS。