Hyperledger fabric Hyperledger Composer-使用TLS时出现连接问题

Hyperledger fabric Hyperledger Composer-使用TLS时出现连接问题,hyperledger-fabric,hyperledger-composer,Hyperledger Fabric,Hyperledger Composer,我在多组织、多对等网络上部署composer时遇到问题。我的网络有两个CA、一个订单和六个对等点(每个组织两个) 网络使用TLS,这给了我一些问题。跑步时 编写器网络ping-n network2-p org1-i用户-s密码 我收到SSL错误; E0913 16:54:49.855499904 120141 ssl_传输_安全。c:921]握手失败,出现致命错误ssl_错误_ssl:错误:14090086:ssl例程:ssl3_获取_服务器_证书:证书验证失败 E0913 16:54:49.8

我在多组织、多对等网络上部署composer时遇到问题。我的网络有两个CA、一个订单和六个对等点(每个组织两个)

网络使用TLS,这给了我一些问题。跑步时 编写器网络ping-n network2-p org1-i用户-s密码

我收到SSL错误; E0913 16:54:49.855499904 120141 ssl_传输_安全。c:921]握手失败,出现致命错误ssl_错误_ssl:错误:14090086:ssl例程:ssl3_获取_服务器_证书:证书验证失败

E0913 16:54:49.864638248 120141 ssl_传输_安全。c:921]握手失败,出现致命错误ssl_错误_ssl:错误:14090086:ssl例程:ssl3_获取_服务器_证书:证书验证失败

E0913 16:54:49.865108661 120141 ssl_传输_安全。c:921]握手失败,出现致命错误ssl_错误_ssl:错误:14090086:ssl例程:ssl3_获取_服务器_证书:证书验证失败

E0913 16:54:49.865506771 120141 ssl_传输_安全。c:921]握手失败,出现致命错误ssl_错误_ssl:错误:14090086:ssl例程:ssl3_获取_服务器_证书:证书验证失败

错误:尝试ping时出错。错误:尝试查询链码时出错。错误:连接失败 命令失败

这是我的连接文件

{ “类型”:“hlfv1”, “名称”:“org1”, “订购方”:[ {“url”:grpcs://localhost:7050", “证书”:“----开始证书------删除------结束证书------\n” } ], “ca:{”url:“, “名称”:“ca_peerOrg1”, “trustedRoots”:[“”], “验证”:真 }, “同行”:[ { “请求URL”:grpcs://localhost:7051", “eventURL”:grpcs://localhost:7053", “证书”:“----开始证书------删除------结束证书------\n” }, { “请求URL”:grpcs://localhost:8051", “eventURL”:grpcs://localhost:8053", “证书”:“----开始证书------删除------结束证书------\n” } ], “keyValStore”:“/home/paul/.composer凭证”, “频道”:“我的频道”, “mspID”:“Org1MSP”, “超时”:“300”, “globalcert”:“, “maxSendSize”:-1, “maxRecvSize”:-1 }

cert的值与用于启动CA的.pem文件的内容匹配(sh-c'fabric CA server start--CA.certfile/etc/hyperledger/fabric CA server config/CA.org1.example.com-cert.pem)


你知道我是如何和TLS合作的吗?所有composer命令都不起作用,它们都给了我相同的错误

如果您使用cryptogen生成证书,那么您的组织将有tls文件夹,其中将包含您需要放入连接配置文件中的公共证书。您用于CA配置的证书不是要使用的正确证书。

如果您使用cryptogen生成证书,则您的组织将有tls文件夹,其中包含您需要放入连接配置文件中的公共证书。您用于CA配置的证书不是要使用的正确证书。

谢谢@david_k,我已尝试更改证书,似乎确实有帮助,但我现在收到与GRPC连接配置文件中使用localhost相关的不同错误。编写器抛出一个错误,该证书对本地主机无效。我已尝试更改Config以引用容器名称(例如:grpc://peer0.org1.example.com:7051)但是我在GRPC调用中收到一些奇怪的DNS错误。当从连接配置文件(例如:“requestURL”)使用容器名称时,我可以看到错误消息“Using native DNS resolver”:grpc://peer0.org1.example.com:7051"). 这在更改为时有效grpc://localhost:7051,但这给了我证书错误。我认为这是docker的错误?您可能需要使用连接配置文件中的hostnameOverride选项。例如,订购者:[{url:'grpcs://localhost:7050,hostnameOverride:'order.example.com',cert:…'}]谢谢@david_k,我已经尝试过更改证书,似乎确实有帮助,但是我现在收到了与GRPC连接配置文件中使用localhost相关的不同错误。编写器抛出一个错误,该证书对本地主机无效。我已尝试更改Config以引用容器名称(例如:grpc://peer0.org1.example.com:7051)但是我在GRPC调用中收到一些奇怪的DNS错误。当从连接配置文件(例如:“requestURL”)使用容器名称时,我可以看到错误消息“Using native DNS resolver”:grpc://peer0.org1.example.com:7051"). 这在更改为时有效grpc://localhost:7051,但这给了我证书错误。我认为这是docker的错误?您可能需要使用连接配置文件中的hostnameOverride选项。例如,订购者:[{url:'grpcs://localhost:7050,hostnameOverride:'order.example.com',cert:…'}]