握手失败,出现致命错误 SSL_ERROR_SSL

Handshake failed with fatal error SSL_ERROR_SSL

我正在按照本教程https://hyperledger.github.io/composer/latest/tutorials/deploy-to-fabric-multi-org 将 Composer 区块链业务网络部署到 Hyperledger Fabric(多个组织)

不过,我在尝试安装业务网络时遇到以下错误:

 Installing business network. This may take a minute...E0424 16:44:04.865686000 140735870391104 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.
E0424 16:44:04.868503000 140735870391104 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.
E0424 16:44:04.870052000 140735870391104 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.
E0424 16:44:04.870444000 140735870391104 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.
⠴ Installing business network. This may take a minute...E0424 16:44:04.952667000 140735870391104 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.
E0424 16:44:04.959653000 140735870391104 ssl_transport_security.cc:989] Handshake failed with fatal error SSL_ERROR_SSL: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed.
✖ Installing business network. This may take a minute...
Error: Error trying install business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 14 UNAVAILABLE: Connect Failed
Response from attempted peer comms was an error: Error: 14 UNAVAILABLE: Connect Failed
Command failed

我的连接配置文件:

{
"name": "bamultiorg_blockaviation",
"x-type": "hlfv1",
"version": "1.0.0",
"channels": {
    "mychannel": {
        "orderers": [
            "orderer.blockaviation.com"
        ],
        "peers": {
            "peer0.org1.blockaviation.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            },
            "peer1.org1.blockaviation.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            },
            "peer0.org2.blockaviation.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            },
            "peer1.org2.blockaviation.com": {
                "endorsingPeer": true,
                "chaincodeQuery": true,
                "eventSource": true
            }
        }
    }
},
"organizations": {
    "Org1": {
        "mspid": "Org1MSP",
        "peers": [
            "peer0.org1.blockaviation.com",
            "peer1.org1.blockaviation.com"
        ],
        "certificateAuthorities": [
            "ca.org1.blockaviation.com"
        ]
    },
    "Org2": {
        "mspid": "Org2MSP",
        "peers": [
            "peer0.org2.blockaviation.com",
            "peer1.org2.blockaviation.com"
        ],
        "certificateAuthorities": [
            "ca.org2.blockaviation.com"
        ]
    }
},
"orderers": {
    "orderer.blockaviation.com": {
        "url": "grpcs://172.16.2.210:7050",
        "grpcOptions": {
            "ssl-target-name-override": "orderer.blockaviation.com"
        },
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICTjCCAfSgAwIBAgIRAN2C8u1ClNbKuMDYbd+qh7QwCgYIKoZIzj0EAwIweDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGjAYBgNVBAoTEWJsb2NrYXZpYXRpb24uY29tMSAwHgYDVQQDExd0\nbHNjYS5ibG9ja2F2aWF0aW9uLmNvbTAeFw0xODA0MjQxMzMzNTdaFw0yODA0MjEx\nMzMzNTdaMHgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRowGAYDVQQKExFibG9ja2F2aWF0aW9uLmNvbTEg\nMB4GA1UEAxMXdGxzY2EuYmxvY2thdmlhdGlvbi5jb20wWTATBgcqhkjOPQIBBggq\nhkjOPQMBBwNCAARjdpW0qESlyKkFbCQH1o/abDpfev5M/UQzBqsH7mTYU20IXAWY\n4nvwlVLGFZm75hIEvtmvBPKm3nrL8Vn5aJVpo18wXTAOBgNVHQ8BAf8EBAMCAaYw\nDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCB7+yU0\nXeKMBmwn6HxgKxXAMjrx5zteQBQBNaReHz1usjAKBggqhkjOPQQDAgNIADBFAiEA\nyBD4xSLwLZuJLg0kgAjWzsv1qb1PVMgK9W8sUs5GVgMCIHjFrumLV1HqyJP+TFN2\ns4u3g4NqClw41p884ZTZ40HY\n-----END CERTIFICATE-----\n"
        }
    }
},
"peers": {
    "peer0.org1.blockaviation.com": {
        "url": "grpcs://172.16.2.210:7051",
        "eventUrl": "grpcs://172.16.2.210:7053",
        "grpcOptions": {
            "ssl-target-name-override": "peer0.org1.blockaviation.com"
        },
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICYzCCAgqgAwIBAgIRANgyJ6qubBFmIsXh0dPNrzUwCgYIKoZIzj0EAwIwgYIx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMR8wHQYDVQQKExZvcmcxLmJsb2NrYXZpYXRpb24uY29tMSUwIwYD\nVQQDExx0bHNjYS5vcmcxLmJsb2NrYXZpYXRpb24uY29tMB4XDTE4MDQyNDEzMzM1\nN1oXDTI4MDQyMTEzMzM1N1owgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp\nZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZvcmcxLmJs\nb2NrYXZpYXRpb24uY29tMSUwIwYDVQQDExx0bHNjYS5vcmcxLmJsb2NrYXZpYXRp\nb24uY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+G03JVSx5h5HJ7wzCAcO\nenLCRJqpeYNQt2TshtOtAgibSjC75l39WtloJ4KbLj5TbJYNZqJGt2KJmYsXYJMW\nEqNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/\nBAUwAwEB/zApBgNVHQ4EIgQg2UExat3LFaP1KKpn2/zHBEEjxNCrPUZcKsdv44Uj\n2aUwCgYIKoZIzj0EAwIDRwAwRAIgZsy0sTNZ+ZBnQQHF0FoQQZF7SHUiIYOJbdqK\nX1BqVQwCIHALKpD8+dI0Uet8+JacdYF8rkoILXJUyKIMntnt8w2z\n-----END CERTIFICATE-----\n"
        }
    },
    "peer1.org1.blockaviation.com": {
        "url": "grpcs://172.16.2.210:8051",
        "eventUrl": "grpcs://172.16.2.210:8053",
        "grpcOptions": {
            "ssl-target-name-override": "peer1.org1.blockaviation.com"
        },
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICYzCCAgqgAwIBAgIRANgyJ6qubBFmIsXh0dPNrzUwCgYIKoZIzj0EAwIwgYIx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMR8wHQYDVQQKExZvcmcxLmJsb2NrYXZpYXRpb24uY29tMSUwIwYD\nVQQDExx0bHNjYS5vcmcxLmJsb2NrYXZpYXRpb24uY29tMB4XDTE4MDQyNDEzMzM1\nN1oXDTI4MDQyMTEzMzM1N1owgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp\nZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMR8wHQYDVQQKExZvcmcxLmJs\nb2NrYXZpYXRpb24uY29tMSUwIwYDVQQDExx0bHNjYS5vcmcxLmJsb2NrYXZpYXRp\nb24uY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+G03JVSx5h5HJ7wzCAcO\nenLCRJqpeYNQt2TshtOtAgibSjC75l39WtloJ4KbLj5TbJYNZqJGt2KJmYsXYJMW\nEqNfMF0wDgYDVR0PAQH/BAQDAgGmMA8GA1UdJQQIMAYGBFUdJQAwDwYDVR0TAQH/\nBAUwAwEB/zApBgNVHQ4EIgQg2UExat3LFaP1KKpn2/zHBEEjxNCrPUZcKsdv44Uj\n2aUwCgYIKoZIzj0EAwIDRwAwRAIgZsy0sTNZ+ZBnQQHF0FoQQZF7SHUiIYOJbdqK\nX1BqVQwCIHALKpD8+dI0Uet8+JacdYF8rkoILXJUyKIMntnt8w2z\n-----END CERTIFICATE-----\n"
        }
    },
    "peer0.org2.blockaviation.com": {
        "url": "grpcs://172.16.2.210:9051",
        "eventUrl": "grpcs://172.16.2.210:9053",
        "grpcOptions": {
            "ssl-target-name-override": "peer0.org2.blockaviation.com"
        },
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICYjCCAgmgAwIBAgIQCV72yu8oJa/dg8tBjdNM4zAKBggqhkjOPQQDAjCBgjEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHzAdBgNVBAoTFm9yZzIuYmxvY2thdmlhdGlvbi5jb20xJTAjBgNV\nBAMTHHRsc2NhLm9yZzIuYmxvY2thdmlhdGlvbi5jb20wHhcNMTgwNDI0MTMzMzU3\nWhcNMjgwNDIxMTMzMzU3WjCBgjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm\nb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xHzAdBgNVBAoTFm9yZzIuYmxv\nY2thdmlhdGlvbi5jb20xJTAjBgNVBAMTHHRsc2NhLm9yZzIuYmxvY2thdmlhdGlv\nbi5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQLckq5PYPrb5ijt4XLCZ0s\nhuHUfGsYQCiGgOBUb9ejzEAW7CrWzY1ksNQDsqqYG6mzfk43CKMZ8gVtmt207KcI\no18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8E\nBTADAQH/MCkGA1UdDgQiBCAe35Brnt4qF7fBaRQUKhfh2JxFa8UrQLFjo7iaeRvT\nFjAKBggqhkjOPQQDAgNHADBEAiA3XTEBQHZ5LPUBi0nYRm8EbCDfZYmSqAfewNAC\nNWc45QIgcoolhg6mXlwYALAaE+4z3ubB9BBVrD0eRCpInGdGu6w=\n-----END CERTIFICATE-----\n"
        }
    },
    "peer1.org2.blockaviation.com": {
        "url": "grpcs://172.16.2.210:10051",
        "eventUrl": "grpcs://172.16.2.210:10053",
        "grpcOptions": {
            "ssl-target-name-override": "peer1.org2.blockaviation.com"
        },
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICYjCCAgmgAwIBAgIQCV72yu8oJa/dg8tBjdNM4zAKBggqhkjOPQQDAjCBgjEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHzAdBgNVBAoTFm9yZzIuYmxvY2thdmlhdGlvbi5jb20xJTAjBgNV\nBAMTHHRsc2NhLm9yZzIuYmxvY2thdmlhdGlvbi5jb20wHhcNMTgwNDI0MTMzMzU3\nWhcNMjgwNDIxMTMzMzU3WjCBgjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm\nb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xHzAdBgNVBAoTFm9yZzIuYmxv\nY2thdmlhdGlvbi5jb20xJTAjBgNVBAMTHHRsc2NhLm9yZzIuYmxvY2thdmlhdGlv\nbi5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQLckq5PYPrb5ijt4XLCZ0s\nhuHUfGsYQCiGgOBUb9ejzEAW7CrWzY1ksNQDsqqYG6mzfk43CKMZ8gVtmt207KcI\no18wXTAOBgNVHQ8BAf8EBAMCAaYwDwYDVR0lBAgwBgYEVR0lADAPBgNVHRMBAf8E\nBTADAQH/MCkGA1UdDgQiBCAe35Brnt4qF7fBaRQUKhfh2JxFa8UrQLFjo7iaeRvT\nFjAKBggqhkjOPQQDAgNHADBEAiA3XTEBQHZ5LPUBi0nYRm8EbCDfZYmSqAfewNAC\nNWc45QIgcoolhg6mXlwYALAaE+4z3ubB9BBVrD0eRCpInGdGu6w=\n-----END CERTIFICATE-----\n"
        }
    }
},
"certificateAuthorities": {
    "ca.org1.blockaviation.com": {
        "url": "https://172.16.2.210:7054",
        "caName": "ca-org1",
        "httpOptions": {
            "verify": false
        }
    },
    "ca.org2.blockaviation.com": {
        "url": "https://172.16.2.210:8054",
        "caName": "ca-org2",
        "httpOptions": {
            "verify": false
        }
    }
}

我已检查 ~/.composer 中的所有凭据是否与以下中的相应凭据匹配:

crypt-config/peerOrganizations/org1.blockaviation.com/peers/peer0.org1.blockaviation.com/tls/ca.crt
crypto-config/peerOrganizations/org2.blockaviation.com/peers/peer0.org2.blockaviation.com/tls/ca.crt

所以我不知道如果它们匹配时为什么会抛出错误 - 非常感谢任何帮助...

作曲家版本:v0.19.1 面料 V1.1.0

您在 grpc 选项下为对等点设置了目标名称覆盖,并且为 CA 设置了 verify:false - 所以看起来不像任何主机命名问题。

如果您查看 Orderer、Peers 和 CA 的日志,您会看到错误的更多详细信息,您可能会发现 MSP 不匹配。

如果日志中的错误没有将您指向眼前的问题,我建议您搜索所有 docker compose yaml 文件,以及 crypto-config.yaml 和 configtx.yaml exampleexample.com 因为在您用 blockaviation 替换时很可能遗漏了一个。 (记得还要检查 script.sh 文件,以及基础文件夹中的 2 个 yaml 文件)

原因之一是使用了不合适的节点版本。 要添加 Node.js v8 的长期支持 (LTS) 颠覆,我们可以使用这些命令:

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile 
nvm ls-remote
nvm install v8.16.0
nvm list
nvm use v8.16.0
node --version