Ошибка SSL: сбой при рукопожатии с фатальной ошибкой - Запрос к Fabric-SDK-Rest серверу в сети Fabric с включенным TLS - PullRequest
0 голосов
/ 10 мая 2018

Я запустил Multi-Host Fabric Network, используя usind docker swarm, состоящий из 1 CA-сервера, 1 Заказчика, 2 Узлов (оба в Org1, один на ПК1 и один на ПК2), 2 CouchBD (один для каждого Узла) с fabric-sdk-rest на ПК2.

Теперь, если я отключаю TLS в сети Fabric, все работает нормально. Но если я включаю TLS в сети, SDK не сможет подключиться к пирам, которые не могут выполнить запрос.

Здесь я показываю конфигурацию сети и fabric-sdk-rest:

(крипто-config.yaml)

OrdererOrgs:
  - Name: Orderer
    Domain: example.com
    Specs:
      - Hostname: orderer
PeerOrgs:
  - Name: Org1
    Domain: org1.example.com
    Template:
      Count: 2
    Users:
      Count: 0

(datasources.json)

{
  "db": {
    "name": "db",
    "connector": "memory"
  },
  "fabricDataSource": {
    "name": "fabricDataSource",
    "connector": "fabric",
    "keyStoreFile": "/tmp/fabricSDKStore",
    "fabricUser": {
      "username": "Admin@org1.example.com",
      "mspid": "Org1MSP",
      "cryptoContent": {
        "privateKey":"$HOME/mynetwork/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/KEY_sk",
        "signedCert":"$HOME/mynetwork/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem"
      }
    },
    "COMMENT_orgs":"Referenced by peers to avoid having to configure the same file location multiple times. Change CACertFile locations for your fabric",
    "orgs": [
      { "name":"org1", "CACertFile":"$HOME/mynetwork/crypto-config/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem"}
    ],
    "COMMENT_peers" : "Configured array is for use with the fabric-sample when running it in a local docker set up. eventURL and publicCertFile not currently used.",
    "peers": [
      { "requestURL":"grpcs://peer1.org1.example.com:7051", "eventURL":"grpcs://peer1.org1.example.com:7053", "orgIndex":"0", "publicCertFile":"$HOME/mynetwork/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/signcerts/peer1.org1.example.com-cert.pem", "hostname":"peer1" }
    ],
    "COMMENT_peers_secure" : "UNUSED. This is a copy of the above with grpcs URLs. Replace peers content with this if grpcs urls are needed.",
    "peers-secure": [
      { "requestURL":"grpcs://peer1.org1.example.com:7051", "eventURL":"grpcs://peer1.org1.example.com:7053", "orgIndex":"0", "publicCertFile":"$HOME/mynetwork/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp/signcerts/peer1.org1.example.com-cert.pem", "hostname":"peer1" }
    ],
    "orderers": [
      { "url":"grpcs://orderer.example.com:7050", "CACertFile":"$HOME/mynetwork/crypto-config/ordererOrganizations/example.com/ca/ca.example.com-cert.pem", "publicCertFile": "$HOME/mynetwork/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/orderer.example.com-cert.pem", "hostname":"orderer"}
    ],
    "COMMENT_orderers_secure" : "UNUSED. This is a copy of the above with grpcs URLs. Replace orderers content with this if grpcs urls are needed.",
    "orderers-secure": [
      { "url":"grpcs://orderer.example.com:7050", "CACertFile":"$HOME/mynetwork/crypto-config/ordererOrganizations/example.com/ca/ca.example.com-cert.pem", "publicCertFile": "$HOME/mynetwork/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/orderer.example.com-cert.pem", "hostname":"orderer"}
    ],
    "COMMENT_channels":"fabric-sdk-node Client class requires channel information to be configured during bootstrap.",
    "channels": [
      { "name":"mychannel", "peersIndex":[0], "orderersIndex":[0] }
    ],
    "channels-first-network": [
      { "name":"mychannel", "peersIndex":[0,1,2,3], "orderersIndex":[0] }
    ]
  }
}

После запуска сервера REST Hyperledger Fabric SDK на https://0.0.0.0:3000, когда я пытаюсь сделать запрос GET channels из проводника, я получаю следующую ошибку:

error: [fabricconnector.js]: Failed to queryChannels: Error: 14 UNAVAILABLE: Connect Failed
Error not handled for the GET request /api/fabric/1_0/channels: Error: 14 UNAVAILABLE: Connect Failed
    at Object.exports.createStatusError ($HOME/mynetwork/fabric-sdk-rest/packages/loopback-connector-fabric/node_modules/grpc/src/common.js:87:15)
    at Object.onReceiveStatus ($HOME/mynetwork/fabric-sdk-rest/packages/loopback-connector-fabric/node_modules/grpc/src/client_interceptors.js:1214:28)
    at InterceptingListener._callNext ($HOME/mynetwork/fabric-sdk-rest/packages/loopback-connector-fabric/node_modules/grpc/src/client_interceptors.js:590:42)
    at InterceptingListener.onReceiveStatus ($HOME/mynetwork/fabric-sdk-rest/packages/loopback-connector-fabric/node_modules/grpc/src/client_interceptors.js:640:8)
    at callback ($HOME/mynetwork/fabric-sdk-rest/packages/loopback-connector-fabric/node_modules/grpc/src/client_interceptors.js:867:24)
E0510 10:51:04.780559355   12247 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.

Кто-нибудь когда-нибудь видел эту ошибку? Может кто-нибудь помочь мне пройти через это, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...