如何在 Hyperledger Fabric 测试网络中配置 3rd Party CA?

How to configure 3rd Party CA in Hyperledger Fabric Test Network?

我已经成功安装了 Fabric 2.0 test-network,我想使用第 3 方 CA 进行用户验证。所以这是我完成的步骤:

./network.sh up createChannel -ca
./network.sh deployCC

以上命令已成功创建 test-network.

然后我将我的第 3 方根 CA 和中间 CA 证书复制到 peer0.org1.example.com 的 MSP 文件夹中。 MSP 文件夹现在如下所示:

~/fabric-samples/test-network/organizations/peerOrganizations/org1.example.org/peers/peer0.org1.example.com/msp
|
|- cacerts
|  |- localhost-7054-ca-org1.pem
|  |- RootCA.pem
|- intermediatecerts
|  |- IntermediateCA.pem
|...
|..
|.

然后我修改了 config.yaml 中客户端 OU 的 CA 证书:

ClientOUIdentifier:
    Certificate: intermediatecerts/IntermediateCA.pem
    OrganizationalUnitIdentifier: client

完成后,我通过 运行 这个命令重新启动了对等点:

docker restart peer0.org1.example.com

重启成功。但是,当我尝试使用第 3 方中间 CA 颁发的证书调用链代码时,对等方返回此错误:

[endorser] Validate -> WARN 02a access denied: channel the supplied identity is not valid: x509: certificate signed by unknown authority channel=mychannel txID=ca408ba9

证书有一个OU=client,我认为应该没问题。我还应该做些什么来解决这个问题吗?

P/S:当我尝试使用 Fabric-CA 颁发的证书调用链码时,尽管 config.yaml 已被修改,但它的效果非常好。

谢谢大家!

通道的创世块包含MSP信息。
如果MSP有变化,必须更新到频道。

有两种方法。

  • 在创建频道之前,您应该更改加密配置文件
  • 创建频道后,使用 configtxlator