为 FABRIC-CA 查找私钥和证书失败

Finding private key and certificate fails for FABRIC-CA

我能够通过“Build Your First Network" tutorial. Next, I've started following the tutorial "Write Your First Application”成功运行。我正在使用 1.1 版。在这里,当我发出 ./startFabric.sh node 命令时,它能够启动除 FABRIC_CA 之外的所有 docker 容器。

在检查日志时我发现它无法为指定的证书找到匹配的私有证书。为了试一试,我重新生成了证书、创世块和通道交易。我在 "docker-compose.yml" 文件的 CA 服务部分指定了这些新生成的证书文件和密钥文件。

到目前为止我遵循的步骤:

  1. 使用以下方法杀死了 stale/active 个容器:docker rm -f $(docker ps -aq)
  2. 使用以下方式清除缓存网络:docker network prune
  3. 安装了节点包。
  4. 提供了命令:startFabric.sh node
  5. 我的 CA 容器的名称是 "ca.example.com"。所以尝试使用以下方式流式传输 CA 日志:docker logs -f ca.example.com

最后一步报错如下:

Error: Failed to find private key for certificate in '/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem': Could not find matching private key for SKI: Failed getting key for SKI [[121 3 161 188 208 43 162 82 194 238 60 39 201 202 175 48 142 53 142 226 34 112 214 8 95 124 86 11 87 93 41 229]]: Key with SKI 7903a1bcd02ba252c2ee3c27c9caaf308e358ee22270d6085f7c560b575d29e5 not found in /etc/hyperledger/fabric-ca-server/msp/keystore

我是否遗漏了任何步骤?

P.S。几天前提出了类似的问题,但由于缺乏信息而仍未得到答复。 Link: CA stack service failed to start.

删除 fabric-samples 并从 https://github.com/hyperledger/fabric-samples 克隆对我有用

似乎 ca.org1.example.com-cert.pem 无法正确安装在 Fabric-ca 容器上。两个建议你应该尝试修复它。

  1. 仔细检查您上面提到的关于 ca 卷和环境配置的 docker-compose.yaml 文件。如果可以,请跟踪 ca 密钥的源路径。
  2. 如果您重新生成证书,请记住替换 yaml 中 envcommand 处的 FABRIC_CA_SERVER_CA_KEYFILE 参数。