我正在尝试设置Fabric Root CA和中间CA.
使用go语言版本1.7.1,环境如下。
Farbic root ca Caconstanint的配置如下:允许此Ca签署其他intermeidate证书。
signing:
default:
usage:
- digital signature
expiry: 8760h
profiles:
ca:
usage:
- cert sign
expiry: 43800h
caconstraint:
isca: true
maxpathlen: 1
路径长度的CSR部分
csr:
cn: fabric-root.example.com
names:
- C: US
ST: "North Carolina"
L: cary
O: Hyperledger
OU: Fabric
hosts:
- fabric-ca-root.example.com
- fabric-ca-root
- fabric-root
ca:
expiry: 131400h
pathlength: 1
使用go脚本验证了这些值的证书。 https://play.golang.org/p/qoC7PIAmuo0
它有MaxPathLen
和MaxPathLenZero
1假。
但是当CA中间服务正在注册时,我从CA服务器上的Cfssl库调用中收到此错误,如下所示。
2018/02/16 12:19:39 [DEBUG] getUserAttrValue identity=fabric-int-ca-1.example.com, name=hf.IntermediateCA, value=true
2018/02/16 12:19:39 [ERROR] local signer policy disallows issuing CA certificate
2018/02/16 12:19:39 [ERROR] Enrollment failure: Failed signing: {"code":5300,"message":"Policy violation request"}
如果您找到解决方法,请告知是否有任何人有类似问题?
答案 0 :(得分:0)
我发现了这个问题。正是在Intermendiate Ca中的配置导致在配置文件下的中间部分中的问题没有提供在根ca中定义的ca.
profiles:
ca:
usage:
- cert sign
expiry: 43800h
caconstraint:
isca: true
maxpathlen: 1
intermediate:
parentserver:
url: https://fabric-ca-root.example.com:7054
caname: fabric-root.example.com
enrollment:
hosts:
- fabric-int-ca-1.example.com
- fabric-int-ca-1
- fabric-int-ca
profile: ca
答案 1 :(得分:-1)
就我而言,我只是将maxpathlen和pathlength设置为0。