2017-09-13 30 views
0

我在多組織,多對等網絡的頂部部署composer時出現問題。我的網絡有兩個CA,一個訂單和六個同行(每個組織兩個)。Hyperledger Composer - 使用TLS時的連接問題

網絡使用TLS,這是給我的一些問題。當運行 作曲家網絡ping命令的-n入網2 -p ORG1 -i用戶-s通過

我收到SSL錯誤; E0913 16:54:49.855499904 120141 ssl_transport_security.c:921]握手失敗,致命錯誤SSL_ERROR_SSL:錯誤:14090086:SSL例程:ssl3_get_server_certificate:證書驗證失敗。

E0913 16:54:49.864638248 120141 ssl_transport_security.c:921]握手失敗,致命錯誤SSL_ERROR_SSL:錯誤:14090086:SSL例程:ssl3_get_server_certificate:證書驗證失敗。

E0913 16:54:49.865108661 120141 ssl_transport_security.c:921]握手失敗,致命錯誤SSL_ERROR_SSL:錯誤:14090086:SSL例程:ssl3_get_server_certificate:證書驗證失敗。

E0913 16:54:49.865506771 120141 ssl_transport_security.c:921]握手失敗,致命錯誤SSL_ERROR_SSL:錯誤:14090086:SSL例程:ssl3_get_server_certificate:證書驗證失敗。

錯誤:嘗試ping時出錯。錯誤:嘗試查詢鏈式代碼時出錯。錯誤:連接失敗 命令失敗

這裏是我的連接文件;

{ "type": "hlfv1", "name": "org1", "orderers": [ { "url" : "grpcs://localhost:7050", "cert" : "-----BEGIN CERTIFICATE-----removed-----END CERTIFICATE-----\n" } ], "ca": { "url": " http://localhost:7054 ", "name": "ca_peerOrg1", "trustedRoots": [""], "verify": true }, "peers": [ { "requestURL": "grpcs://localhost:7051", "eventURL": "grpcs://localhost:7053", "cert" : "-----BEGIN CERTIFICATE-----removed-----END CERTIFICATE-----\n" }, { "requestURL": "grpcs://localhost:8051", "eventURL": "grpcs://localhost:8053", "cert" : "-----BEGIN CERTIFICATE-----removed-----END CERTIFICATE-----\n" } ], "keyValStore": "/home/paul/.composer-credentials", "channel": "mychannel", "mspID": "Org1MSP", "timeout": "300", "globalcert": "", "maxSendSize": -1, "maxRecvSize": -1 }

證書的值用於啓動CA(SH -c「織物-CA-服務器啓動--ca.certfile的/ etc/hyperledger /織物-CA .pem文件的內容相匹配-server-配置/ ca.org1.example.com-cert.pem)

任何想法我如何獲得使用TLS這方面的工作?沒有一個作曲家的命令正在工作,他們都給我相同的錯誤

回答

0

如果你使用cryptogen來生成你的證書,那麼你的組織將會有tls文件夾,它將包含你需要放入連接的公共證書個人資料。您用於CA配置的證書不是要使用的正確證書。

+0

感謝@david_k,我試圖改變的證書,它似乎有助於但是我現在接收關於在GRPC連接配置文件使用本地主機的不同的錯誤。 Composer正在拋出一個證書對localhost無效的錯​​誤。我試圖改變引用容器名稱(例如:grpc://peer0.org1.example.com:7051),但我收到一些奇怪的DNS錯誤與GRPC調用。 –

+0

當使用連接配置文件中的容器名稱(例如:「requestURL」:「grpc://peer0.org1.example.com:7051」)時,我可以看到錯誤消息'Using native dns resolver'。這在更改爲grpc:// localhost:7051時有效,但是這會導致證書錯誤。我以爲這是一個碼頭錯誤? –

+0

您可能需要在連接配置文件中使用hostnameOverride選項。 例如 orderers: { 網址: 'grpcs://本地主機:7050', hostnameOverride: 'orderer.example.com', 證書:...」 } ] –

相關問題