我遵循的步骤:
1) 使用 1-ca(即 root ca)、1-orderer、1-peer 和 1-couchdb 启动结构
2)我将shell附加到作为root的ca并触发2个命令来注册中间ca。
fabric-ca-client enroll -u http://admin:adminpw@localhost:7054
fabric-ca-client register --id.name ica --id.attrs '"hf.Registrar.Roles=user,peer",hf.Revoker=true,hf.IntermediateCA=true' --id.secret icapw
3)我启动ca1容器如下:
services:
ca1.example.com:
image: hyperledger/fabric-ca:x86_64-1.1.0
environment:
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
- FABRIC_CA_SERVER_PORT=8054
- FABRIC_CA_SERVER_CA_NAME=ca1.example.com
ports:
- "8054:8054"
command: sh -c 'fabric-ca-server start -b admin:adminpw -u http://ica:icapw@ca.example.com:7054'
container_name: ca1.example.com
networks:
- basic
但它总是会创建默认证书,所以我从容器中删除了所有证书,然后再次启动启动命令,当我尝试使用该中间 ca 注册管理员时,它给了我以下错误:
signed certificate with serial number 619423114660023963149266564884451731119475746692
ca1.example.com | 2018/09/20 06:38:53 [INFO] 127.0.0.1:47144 POST /enroll 500 0 "Certificate signing failure: Failed to insert record intodatabase: attempt to write a readonly database"
我不确定我遵循的过程。所以建议我要遵循的确切步骤,如果这些步骤正确,那么就是这个错误的原因。
我遵循了文档:https ://hyperledger-fabric-ca.readthedocs.io/en/latest/users-guide.htm