我所遵循的步骤:
1)用1-ca(根ca)、1-orderer、1-peer和1-couchdb启动fabric
2)我将shell连接到ca,这是根,并启动2个命令注册中间ca。
fabric-ca-client招收- uhttp://admin:(电子邮件保护): 7054
Fabric-ca-client register——id.name ica——id。attrs”hf.Registrar.Roles =用户、对等”hf.Revoker = true,高频。IntermediateCA = true”——id。秘密icapw
3)我启动ca1容器如下:
服务:
ca1.example.com:
图片:hyperledger / fabric-ca: x86_64-1.1.0
环境:
- FABRIC_CA_HOME = / etc / hyperledger / fabric-ca-server
——FABRIC_CA_SERVER_PORT = 8054
- FABRIC_CA_SERVER_CA_NAME = ca1.example.com
港口:
——“8054:8054”
命令:sh -c 'fabric-ca-server start -b admin:adminpw -uhttp://ica:(电子邮件保护): 7054 '
container_name: ca1.example.com
网络:
——基本
但它总是创建默认的证书,所以我从容器中移除所有,然后再次启动命令,当我试图注册管理员使用中间ca它给我以下错误:
序列号为619423114660023963149266564884451731119475746692的签名证书
ca1.example.com | 2018/09/20 06:38:53 [INFO] 127.0.0.1:47144 POST /enrol 500 0 "Certificate signing failure: Failed to insert record into database: attempt to write a read - only database"
我不确定我遵循的过程。所以建议我遵循的确切步骤,如果步骤是正确的,那么这个错误的原因。
假设您已经设置并运行了一个Topmost Fabric-CA (TCA)服务器。现在来回答您的问题,我们可以说您被设置为启用一个连接到假定的RCA服务器的中间Fabric-CA (ICA)服务器。
我尝试了下面的命令行,它工作。你也应该试一试。
版本:' 2 '
网络:fabric-ca:
服务:
interca:
container_name: interca
图片:hyperledger / fabric-ca
命令:/bin/bash -c '/scripts/start-intermediate-ca.sh 2>&1 | tee /data/logs/ica.log'
环境:
- FABRIC_CA_SERVER_HOME = / etc / hyperledger / fabric-ca
- FABRIC_CA_SERVER_CA_NAME = interca
- FABRIC_CA_SERVER_INTERMEDIATE_TLS_CERTFILES = /数据/ tca-ca-cert.pem
- FABRIC_CA_SERVER_CSR_HOSTS = interca
——FABRIC_CA_SERVER_TLS_ENABLED = true
——FABRIC_CA_SERVER_DEBUG = true
- BOOTSTRAP_USER_PASS = interca-admin: interca-adminpw
- PARENT_URL =https://tca-admin:(电子邮件保护): 7054
- TARGET_CHAINFILE = /数据/ interca-ca-chain.pem
卷:
-。/数据/数据
——。/脚本:/脚本
——。/数据/ fabric_ca_test / interca: / etc / hyperledger / fabric-ca
网络:
——fabric-ca
港口:
——10.10.10.101:7055:7054
您还应该注意,我们一直在使用start-intermediate- cash .sh脚本
# !/bin/bash
#
设置- e
#初始化中间CA
fabric-ca-server -b $BOOTSTRAP_USER_PASS -u $PARENT_URL
#将interca证书链复制到其他用户可以使用的数据目录
cp FABRIC_CA_SERVER_HOME / ca-chain美元。pem TARGET_CHAINFILE美元
#现在开始interca
$FABRIC_CA_SERVER_HOME/fabric-ca-server-config.yaml