我正在尝试为我的网络设置实现根CA和中间CA。我已经创建了根CA和中间CA,并且已经注册并注册了该组织的所有成员,即订购者,对等方,管理员,用户。
一切正常,因为我看到了CA的日志,并且它们运行正常,但是当我尝试启动Docker的对等和订购者的Docker容器时,它们没有启动,并且通过查看订购者和对等者的日志我正在获取这些日志:
certificate has expired or is not yet valid yet.
有人尝试过几次,但每次我都遇到此错误时,谁能帮助我。
答案 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