问题描述:
我修改了v1.2 fabric-samples中的fabric-ca示例,为每个组织都有一个通用的RCA和ICA。因此,在该示例中,有3个组织,因此有3个RCA,我将其更改为一个RCA,然后每个组织有3个ICA。
当安装程序正在创建通道时,运行容器日志中将显示一个错误,指示由于身份验证握手失败和tls错误的证书而无法连接到订购器。 订购者日志上的错误是tls:无法验证客户端的证书:x509:证书由未知授权机构签名(可能是由于尝试验证候选授权证书“ rca-mainorg-admin”时出现“ x509:ECDSA验证失败”
复制步骤:
首先,我修改了makeDocker.sh以在docker-compose文件中生成1个RCA:
# Write services for the root fabric CA servers
function writeRootFabricCA {
for ORG in $ORGS; do
initOrgVars $ORG
writeRootCA
return
done
}
第二,我修改了env.sh中与root ca相关的参数,如下所示。
ROOT_CA_HOST=rca-mainorg
ROOT_CA_NAME=rca-mainorg
ROOT_CA_LOGFILE=$LOGDIR/${ROOT_CA_NAME}.log
INT_CA_HOST=ica-${ORG}
INT_CA_NAME=ica-${ORG}
INT_CA_LOGFILE=$LOGDIR/${INT_CA_NAME}.log
# Root CA admin identity
ROOT_CA_ADMIN_USER=rca-mainorg-admin
ROOT_CA_ADMIN_PASS=${ROOT_CA_ADMIN_USER}pw
ROOT_CA_ADMIN_USER_PASS=${ROOT_CA_ADMIN_USER}:${ROOT_CA_ADMIN_PASS}
# Root CA intermediate identity to bootstrap the intermediate CA
ROOT_CA_INT_USER=ica-mainorg
ROOT_CA_INT_PASS=${ROOT_CA_INT_USER}pw
ROOT_CA_INT_USER_PASS=${ROOT_CA_INT_USER}:${ROOT_CA_INT_PASS}
然后运行./start.sh 当运行容器正在创建通道时,下面将提供错误详细信息。
来自订购者的错误日志: [36m2018-10-30 11:05:26.383 UTC [grpc] Printf-> DEBU 0c5 [0m grpc:Server.Serve无法完成来自“ 172.22.0.12:43704”的安全握手:tls:无法验证客户端证书:x509 :由未知授权机构签名的证书(可能是因为尝试验证候选授权机构证书“ rca-mainorg-admin”时出现“ x509:ECDSA验证失败”) [36m2018-10-30 11:05:27.385 UTC [grpc] Printf-> DEBU 0c6 [0m grpc:Server.Serve无法完成来自“ 172.22.0.12:43706”的安全握手:tls:无法验证客户端证书:x509 :由未知授权机构签名的证书(可能是因为尝试验证候选授权机构证书“ rca-mainorg-admin”时出现“ x509:ECDSA验证失败”) [36m2018-10-30 11:05:29.091 UTC [grpc] Printf-> DEBU 0c7 [0m grpc:Server.Serve无法完成来自“ 172.22.0.12:43710”的安全握手:tls:无法验证客户端证书:x509 :由未知授权机构签名的证书(可能是由于尝试验证候选授权机构证书“ rca-mainorg-admin”时出现“ x509:ECDSA验证失败”)
来自CLI容器的错误日志:
[36m2018-10-30 11:05:26.368 UTC [msp] setupSigningIdentity-> DEBU 034 [0m签名身份于2019-10-30 11:05:00 +0000 UTC过期 [36m2018-10-30 11:05:26.368 UTC [msp]验证-> DEBU 035 [0m MSP org1MSP验证身份 [36m2018-10-30 11:05:26.369 UTC [msp] GetDefaultSigningIdentity-> DEBU 036 [0m获取默认签名身份 [36m2018-10-30 11:05:26.377 UTC [grpc] Printf-> DEBU 037 [0m解析方案:“” [36m2018-10-30 11:05:26.377 UTC [grpc] Printf-> DEBU 038 [0m scheme“”未注册,回退到默认方案 [36m2018-10-30 11:05:26.377 UTC [grpc] Printf-> DEBU 039 [0m ccResolverWrapper:向cc发送新地址:[{orderer1-org0:7050 0}] [36m2018-10-30 11:05:26.378 UTC [grpc] Printf-> DEBU 03a [0m ClientConn将平衡器切换为“ pick_first” [36m2018-10-30 11:05:26.378 UTC [grpc] Printf-> DEBU 03b [0m pickfirstBalancer:HandleSubConnStateChange:0xc4201e63d0,CONNECTING [36m2018-10-30 11:05:26.383 UTC [grpc] Printf-> DEBU 03c [0m grpc:addrConn.createTransport无法连接到{orderer1-org0:7050 0}。错误:连接错误:desc =“传输:身份验证握手失败:远程错误:tls:错误的证书”。重新连接... [36m2018-10-30 11:05:26.383 UTC [grpc] Printf-> DEBU 03d [0m pickfirstBalancer:HandleSubConnStateChange:0xc4201e63d0,TRANSIENT_FAILURE [36m2018-10-30 11:05:27.380 UTC [grpc] Printf-> DEBU 03e [0m pickfirstBalancer:HandleSubConnStateChange:0xc4201e63d0,CONNECTING [36m2018-10-30 11:05:27.386 UTC [grpc] Printf-> DEBU 03f [0m grpc:addrConn.createTransport无法连接到{orderer1-org0:7050 0}。错误:连接错误:desc =“传输:身份验证握手失败:远程错误:tls:错误的证书”。重新连接... [36m2018-10-30 11:05:27.387 UTC [grpc] Printf-> DEBU 040 [0m pickfirstBalancer:HandleSubConnStateChange:0xc4201e63d0,TRANSIENT_FAILURE [36m2018-10-30 11:05:29.086 UTC [grpc] Printf-> DEBU 041 [0m pickfirstBalancer:HandleSubConnStateChange:0xc4201e63d0,CONNECTING [36m2018-10-30 11:05:29.091 UTC [grpc] Printf-> DEBU 042 [0m grpc:addrConn.createTransport无法连接到{orderer1-org0:7050 0}。错误:连接错误:desc =“传输:身份验证握手失败:远程错误:tls:错误的证书”。重新连接... [36m2018-10-30 11:05:29.091 UTC [grpc] Printf-> DEBU 043 [0m pickfirstBalancer:HandleSubConnStateChange:0xc4201e63d0,TRANSIENT_FAILURE 错误:创建交付客户端失败:订购者客户端无法连接到orderer1-org0:7050:创建新连接失败:超出了上下文期限