使用根和中间CA生成的证书启动对等方和订购方时出错

时间:2019-09-19 12:46:17

标签: hyperledger-fabric hyperledger hyperledger-fabric-ca raft

我正在尝试为我的网络设置实现根CA和中间CA。我已经创建了根CA和中间CA,并且已经注册并注册了该组织的所有成员,即订购者,对等方,管理员,用户。

一切正常,因为我看到了CA的日志,并且它们运行正常,但是当我尝试启动Docker的对等和订购者的Docker容器时,它们没有启动,并且通过查看订购者和对等者的日志我正在获取这些日志:

certificate has expired or is not yet valid yet.

有人尝试过几次,但每次我都遇到此错误时,谁能帮助我。

2 个答案:

答案 0 :(得分:0)

似乎更像是生成证书而不是过期的问题。因此它们可能尚未生成,或者放置在错误的位置。

尝试首先完全重启docker。 然后,在密钥生成后添加一些缓冲时间。您可以在调用cryptogen和configtxgen之后但在实际的Docker容器启动之前添加sleep 300

如果这样做没有帮助,请尝试跟踪证书在哪里以及从哪里获取证书。

答案 1 :(得分:0)

好的,我在这里有解决方案:

https://jira.hyperledger.org/browse/FABC-832

开始有效期,即不早于对等点,比中间CA早5分钟左右。这是因为,默认情况下,Fabric CA将证书签名的日期推迟5分钟。因此,现在我在fabric-ca-config.yaml文件中将backdate设置为1秒:

signing:
    default:
      usage:
        - digital signature
      expiry: 8760h
      backdate: 1s
    profiles:
      ca:
         backdate: 1s
         usage:
           - cert sign
           - crl sign
         expiry: 43800h
         caconstraint:
           isca: true
           maxpathlen: 0
      tls:
         backdate: 1s
         usage:
            - signing
            - key encipherment
            - server auth
            - client auth
            - key agreement
         expiry: 8760h