2017-09-13 12 views
0

マルチorg、マルチピアネットワークの上にコンポーザーを配備する際に問題があります。私のネットワークには、2つのCA、1つのオーダー、6つのピア(組織あたり2つ)があります。Hyperledger Composer - TLSを使用するときの接続の問題

ネットワークはTLSを使用しています。これは私にいくつかの問題をもたらしています。実行時 作曲家ネットワークping -n network2 -p org1 -iユーザー-spass

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 }

は、証明書の値が(SH -c「ファブリック-CA-サーバーCAを起動するの/ etc/hyperledger /ファブリック-CAを--ca.certfile開始するために使用さ.pemファイルの内容と一致します-server-config/ca.org1.example.com-cert.pem)

どのように私はTLSで動作しますか?コンポーザーコマンドのどれも動作していません、彼らは私にすべて同じエラーを与えています

答えて

0

証明書を生成するためにcryptogenを使用した場合、接続に入れる必要のある公開証明書プロフィール。 CA構成に使用する証明書が、使用する正しい証明書ではありません。

+0

ありがとう@david_k、私は証明書を変更しようとしましたが、私は今GRPC接続プロファイルでlocalhostの使用に関連するさまざまなエラーを受信して​​いるようです。 Composerは証明書がlocalhostに対して有効ではないというエラーを投げています。コンテナ名(例:grpc://peer0.org1.example.com:7051)を参照するようにconffigを変更しようとしましたが、GRPC呼び出しで奇妙なDNSエラーが発生しています。 –

+0

接続プロファイル(たとえば「requestURL」:「grpc://peer0.org1.example.com:7051」)からコンテナ名を使用しているときに、「ネイティブdnsリゾルバを使用しています」というエラーメッセージが表示されます。これはgrpc:// localhost:7051に変更すると動作しますが、これにより証明書エラーが発生します。私はドッカーとの間違いだと思っていますか? –

+0

おそらく、接続プロファイルでhostnameOverrideオプションを使用する必要があります。例えば 発注者:[ {URL: 'grpcs:// localhostを:7050'、 hostnameOverride 'orderer.example.com' CERT:...」 }] –

関連する問題