I am integrating hyperledger node sdk with a tunning blockchain network with TLS enabled. I am able to invoke query the chaincode succesfully. I am able to enroll admin successfully. But when i register user i get below error.
Failed to register user "user1": Error: Calling register endpoint failed with error [Error: unable to verify the first certificate]
Below is my connection.js
{
"name": "byfn",
"version": "1.0.0",
"client": {
"organization": "org1",
"credentialStore": {
"path": "./wallet",
"cryptoStore": {
"path": "./wallet"
}
}
},
"channels": {
"foundational": {
"orderers": [
"orderer0.orgledger.com",
"orderer1.orgledger.com"
],
"peers": {
"peer0.org1.orgledger.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer0.org2.orgledger.com": {
"endorsingPeer": false,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
},
"peer0.org3.orgledger.com": {
"endorsingPeer": false,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true
}
}
}
},
"organizations": {
"org1": {
"mspid": "org1MSP",
"peers": [
"peer0.org1.orgledger.com"
],
"certificateAuthorities": [
"ca.orgledger.com"
],
"adminorg3Key": {
"path": "../crypto-config/peerOrganizations/org1.orgledger.com/users/Admin#org1.orgledger.com/msp/keystore/3442d5a33729209d7c33b00b53f57ef09d9e24b592eb8f0b48d1077db2e0d4a6_sk"
},
"signedCert": {
"path" : "../crypto-config/peerOrganizations/org1.orgledger.com/users/Admin#org1.orgledger.com/msp/signcerts/Admin#org1.orgledger.com-cert.pem"
}
},
"org2": {
"mspid": "org2MSP",
"peers": [
"peer0.org2.orgledger.com"
],
"certificateAuthorities": [
"ca.orgledger.com"
],
"adminorg3Key": {
"path": "../crypto-config/peerOrganizations/org2.orgledger.com/users/Admin#org2.orgledger.com/msp/keystore/a0c574a2ef9054ed22905458e68e74185ada86446c9a39faa223fff43f05d4e1_sk"
},
"signedCert": {
"path" : "../crypto-config/peerOrganizations/org2.orgledger.com/users/Admin#org2.orgledger.com/msp/signcerts/Admin#org2.orgledger.com-cert.pem"
}
},
"org3": {
"mspid": "org3MSP",
"peers": [
"peer0.org3.orgledger.com"
],
"certificateAuthorities": [
"ca.orgledger.com"
],
"adminorg3Key": {
"path": "../crypto-config/peerOrganizations/org3.orgledger.com/users/Admin#org3.orgledger.com/msp/keystore/afef5529f601bde779b12306aaeb497d9a400f13240d9d2ec4245caa2765cb88_sk"
},
"signedCert": {
"path" : "../crypto-config/peerOrganizations/org3.orgledger.com/users/Admin#org3.orgledger.com/msp/signcerts/Admin#org3.orgledger.com-cert.pem"
}
}
},
"orderers": {
"orderer0.orgledger.com": {
"url": "grpcs://localhost:22050",
"grpcOptions":{
"ssl-target-name-override": "orderer0.orgledger.com",
"grpc.keepalive_timeout_ms": 15
},
"tlsCACerts": {
"path": "../crypto-config/ordererOrganizations/orgledger.com/orderers/orderer0.orgledger.com/msp/tlscacerts/tlsca.orgledger.com-cert.pem"
}
},
"orderer1.orgledger.com": {
"url": "grpcs://localhost:23050",
"grpcOptions":{
"ssl-target-name-override": "orderer1.orgledger.com",
"grpc.keepalive_timeout_ms": 15
},
"tlsCACerts": {
"path": "../crypto-config/ordererOrganizations/orgledger.com/orderers/orderer1.orgledger.com/msp/tlscacerts/tlsca.orgledger.com-cert.pem"
}
}
},
"peers": {
"peer0.org1.orgledger.com": {
"url": "grpcs://localhost:7051",
"eventUrl": "grpcs://localhost:7053",
"grpcOptions":{
"ssl-target-name-override": "peer0.org1.orgledger.com",
"grpc.keepalive_time_ms": 600000
},
"tlsCACerts": {
"path": "../crypto-config/peerOrganizations/org1.orgledger.com/tlsca/tlsca.org1.orgledger.com-cert.pem"
}
},
"peer0.org2.orgledger.com": {
"url": "grpcs://localhost:8051",
"eventUrl": "grpcs://localhost:8053",
"grpcOptions":{
"ssl-target-name-override": "peer0.org2.orgledger.com",
"grpc.keepalive_time_ms": 600000
},
"tlsCACerts": {
"path": "../crypto-config/peerOrganizations/org2.orgledger.com/tlsca/tlsca.org2.orgledger.com-cert.pem"
}
},
"peer0.org3.orgledger.com": {
"url": "grpcs://localhost:9051",
"eventUrl": "grpcs://localhost:9053",
"grpcOptions":{
"ssl-target-name-override": "peer0.org3.orgledger.com",
"grpc.keepalive_time_ms": 600000
},
"tlsCACerts": {
"path": "../crypto-config/peerOrganizations/org3.orgledger.com/tlsca/tlsca.org3.orgledger.com-cert.pem"
}
}
},
"certificateAuthorities": {
"ca.orgledger.com": {
"url": "https://localhost:7054",
"caName": "ca.orgledger.com"
},
"httpOptions": {
"verify": false
},
"tlsCACerts": {
"path": "../crypto-config/peerOrganizations/org1.orgledger.com/ca/ca.org1.orgledger.com-cert.pem"
},
"registrar": [
{
"enrollId": "admin",
"enrollSecret": "adminpw"
}
]
}
}
The options for certificatAuthorities are in the wrong place, try this way:
...
"certificateAuthorities": {
"ca.orgledger.com": {
"url": "https://localhost:7054",
"caName": "ca.orgledger.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": {
"path": "../crypto-config/peerOrganizations/org1.orgledger.com/ca/ca.org1.orgledger.com-cert.pem"
},
"registrar": [
{
"enrollId": "admin",
"enrollSecret": "adminpw"
}
]
}
Related
I have setup Hyper-ledger Fabric network. After that I tried to setup Hyperledger Explorer to look in to that blockchain network.But when I start the explorer it gives me these errors on the log file.
{ name: 'first-network',
profile: './connection-profile/first-network.json' } } client_configs.name first-network client_configs.profile
./connection-profile/first-network.json FabricUtils.createFabricClient
config.client.tlsEnable undefined FabricConfig, this.config.channels
first-network 2019-10-01T10:06:20.177Z - error:
[FabricCAClientService.js]: Invalid enroll request, missing
enrollmentID 'Error instantiating FabricCAServices '
2019-10-01T10:06:20.210Z - error: [Channel.js]: Error: No identity has
been assigned to this client
And got this error also.
FabricConfig, this.config.channels first-network
2019-10-01T10:37:24.022Z - error: [Channel.js]: Channel:first-network
received discovery error:access denied 2019-10-01T10:37:24.023Z -
error: [Channel.js]: Error: Channel:first-network Discovery error:access
denied initializeChannelFromDiscover first-network
2019-10-01T10:37:24.041Z - error: [Channel.js]: Channel:first-network
received discovery error:access denied 2019-10-01T10:37:24.041Z -
error: [Channel.js]: Error: Channel:first-network Discovery error:access
denied Channel genesis hash for channel [first-network] >>
b4ee26da8a094bf78422b9c38df8129715e2140690f80c772d7eebde723d29b3
2019-10-01T10:37:24.088Z - error: [Channel.js]: Channel:first-network
received discovery error:access denied 2019-10-01T10:37:24.089Z -
error: [Channel.js]: Error: Channel:first-netork Discovery error:access
denied 2019-10-01T10:37:24.089Z - error: [Channel.js]: refresh -
failed:Error: Channel:first-network Discovery error:access denied
This is my connection-profile json file.
{
"name": "first-network",
"version": "1.0.0",
"client": {
"organization": "Org2",
"tlsEnable": true,
"adminUser": "admin",
"adminPassword": "adminpw",
"enableAuthentication": false
},
"channels": {
"example": {
"orderers": ["orderer.example.com"],
"peers": {
"peer0.org1.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org1.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org2.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org2.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org3.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org3.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org4.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org4.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org5.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org5.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org6.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org6.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com",
"peer1.org1.example.com"
],
"certificateAuthorities": ["ca.org1.example.com"]
},
"Org2": {
"mspid": "Org2MSP",
"peers": [
"peer0.org2.example.com",
"peer1.org2.example.com"
],
"certificateAuthorities": ["ca.org2.example.com"]
},
"Org3": {
"mspid": "Org3MSP",
"peers": ["peer0.org3.example.com", "peer1.org3.example.com"],
"certificateAuthorities": ["ca.org3.example.com"]
},
"Org4": {
"mspid": "Org4MSP",
"peers": ["peer0.org4.example.com", "peer1.org4.example.com"],
"certificateAuthorities": ["ca.org4.example.com"]
},
"Org5": {
"mspid": "Org5MSP",
"peers": [
"peer0.org5.example.com",
"peer1.org5.example.com"
],
"certificateAuthorities": ["ca.org5.example.com"]
},
"Org6": {
"mspid": "Org6MSP",
"peers": [
"peer0.org6.example.com",
"peer1.org6.example.com"
],
"certificateAuthorities": ["ca.org6.example.com"]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpcs://localhost:7050",
"grpcOptions": {
"ssl-target-name-override": "orderer.example.com",
"grpc-max-send-message-length": 4194304
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICUjCCAfmgAwIBAgIQNj7a+Kn6DUjEfOwbpZzs9DAKBggqhkjOPQQDAjB0MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEYMBYGA1UEChMPdHJhZmZpY2ZpbmUuY29tMR4wHAYDVQQDExV0bHNj\nYS50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5MTExNjAw\nWjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzEYMBYGA1UEChMPdHJhZmZpY2ZpbmUuY29tMR4wHAYDVQQD\nExV0bHNjYS50cmFmZmljZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\nAAQ1X/r/Wz9/9wTfF5PIczpCN2TtCgaoyHXnXwjyWBWXHbG2QzDx6Yhs8Fx7ui+w\n0IeJspCfQdjWcvu4/8md539fo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYw\nFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIE\nIIStjqA7D7b/xqBhVQA1ypl8gP11P0P7ijitskHZ+NY6MAoGCCqGSM49BAMCA0cA\nMEQCIGW065Uo9CTIAhWYglKAh9G4AiOUBQ6Bh/+lplUm5HN1AiBteSDToihfQBAh\nPPDPUpBGhzQu/FhtjVJw3itkUNSSVQ==\n-----END CERTIFICATE-----\n"
}
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com",
"grpc.keepalive_time_ms": 600000
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICjjCCAjSgAwIBAgIRAJSkuaGutlKDo2VJV48SQxwwCgYIKoZIzj0EAwIwgZAx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSYwJAYDVQQKEx1nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNv\nbTEsMCoGA1UEAxMjdGxzY2EuZ2VuZXJhbHB1YmxpYy50cmFmZmljZmluZS5jb20w\nHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5MTExNjAwWjCBkDELMAkGA1UEBhMCVVMx\nEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xJjAk\nBgNVBAoTHWdlbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29tMSwwKgYDVQQDEyN0\nbHNjYS5nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqGSM49AgEG\nCCqGSM49AwEHA0IABDjHbkyDu1SJQGlT9MHvKpMuVVqe9Lt/Nubff6xV/lou0WgR\n1fK0Nw5Rcpbb7Vq/7fS6fgkuhD8m0ppwa894KAOjbTBrMA4GA1UdDwEB/wQEAwIB\npjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB\n/zApBgNVHQ4EIgQg8uHHt7GIMY8l21cnfoRfY1uPz3UFkiFNh/cz2vPNwUQwCgYI\nKoZIzj0EAwIDSAAwRQIhAI7ZjLZpPos3YQl8Oy81vyJAySS7tPyJrS8qYu6so/Hg\nAiAYtK9SeHhBUkcEVMiUHlVMPGedOwS9Ci1iq25RjE+42A==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org1.example.com": {
"url": "grpcs://localhost.com",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICjjCCAjSgAwIBAgIRAJSkuaGutlKDo2VJV48SQxwwCgYIKoZIzj0EAwIwgZAx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSYwJAYDVQQKEx1nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNv\nbTEsMCoGA1UEAxMjdGxzY2EuZ2VuZXJhbHB1YmxpYy50cmFmZmljZmluZS5jb20w\nHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5MTExNjAwWjCBkDELMAkGA1UEBhMCVVMx\nEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xJjAk\nBgNVBAoTHWdlbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29tMSwwKgYDVQQDEyN0\nbHNjYS5nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqGSM49AgEG\nCCqGSM49AwEHA0IABDjHbkyDu1SJQGlT9MHvKpMuVVqe9Lt/Nubff6xV/lou0WgR\n1fK0Nw5Rcpbb7Vq/7fS6fgkuhD8m0ppwa894KAOjbTBrMA4GA1UdDwEB/wQEAwIB\npjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB\n/zApBgNVHQ4EIgQg8uHHt7GIMY8l21cnfoRfY1uPz3UFkiFNh/cz2vPNwUQwCgYI\nKoZIzj0EAwIDSAAwRQIhAI7ZjLZpPos3YQl8Oy81vyJAySS7tPyJrS8qYu6so/Hg\nAiAYtK9SeHhBUkcEVMiUHlVMPGedOwS9Ci1iq25RjE+42A==\n-----END CERTIFICATE-----\n"
}
},
"peer0.org2.example.com": {
"url": "grpcs://localhost:9051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICeTCCAiCgAwIBAgIRAOPkFgOOl0nsonSTTg8Vc+cwCgYIKoZIzj0EAwIwgYYx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGljZS50cmFmZmljZmluZS5jb20xJzAl\nBgNVBAMTHnRsc2NhLnNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIx\nMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGGMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEhMB8GA1UEChMYc2xw\nb2xpY2UudHJhZmZpY2ZpbmUuY29tMScwJQYDVQQDEx50bHNjYS5zbHBvbGljZS50\ncmFmZmljZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATiUSah6Be8\n/n72/RyxsOoaOgvm847Qu1Mf6aPfMjfZECsd8OHa+pWA90QYyH4SZk7RbE+8nHGi\nmdovZfUSbXJOo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIE/Wz5BRtplq\noZQBHeqVXrmcFI4GKpJWYPECdAc6ygzaMAoGCCqGSM49BAMCA0cAMEQCIDtkLhc3\nsZLOIFCgeFOv5SmyCl1BbOl6AMwhm/dueZ72AiA7XkzTeiYj9PWs0XBaSfUf/Q3l\n5++8p89wiPd1Rut7KQ==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org2.example.com": {
"url": "grpcs://localhost:10051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICeTCCAiCgAwIBAgIRAOPkFgOOl0nsonSTTg8Vc+cwCgYIKoZIzj0EAwIwgYYx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGljZS50cmFmZmljZmluZS5jb20xJzAl\nBgNVBAMTHnRsc2NhLnNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIx\nMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGGMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEhMB8GA1UEChMYc2xw\nb2xpY2UudHJhZmZpY2ZpbmUuY29tMScwJQYDVQQDEx50bHNjYS5zbHBvbGljZS50\ncmFmZmljZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATiUSah6Be8\n/n72/RyxsOoaOgvm847Qu1Mf6aPfMjfZECsd8OHa+pWA90QYyH4SZk7RbE+8nHGi\nmdovZfUSbXJOo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIE/Wz5BRtplq\noZQBHeqVXrmcFI4GKpJWYPECdAc6ygzaMAoGCCqGSM49BAMCA0cAMEQCIDtkLhc3\nsZLOIFCgeFOv5SmyCl1BbOl6AMwhm/dueZ72AiA7XkzTeiYj9PWs0XBaSfUf/Q3l\n5++8p89wiPd1Rut7KQ==\n-----END CERTIFICATE-----\n"
}
},
"peer0.org3.example.com": {
"url": "grpcs://localhost:11051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org3.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICZDCCAgqgAwIBAgIRANy2QltPJVGvPRHkwgo55GowCgYIKoZIzj0EAwIwfDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHDAaBgNVBAoTE2lzcC50cmFmZmljZmluZS5jb20xIjAgBgNVBAMT\nGXRsc2NhLmlzcC50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkw\nNTA5MTExNjAwWjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW\nMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEcMBoGA1UEChMTaXNwLnRyYWZmaWNmaW5l\nLmNvbTEiMCAGA1UEAxMZdGxzY2EuaXNwLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqG\nSM49AgEGCCqGSM49AwEHA0IABDVsg+823dcGvYv7w8Enfv+4x/Otj00PEs1G8u1T\nl3/iAHGvidf7/KxqePr5j3CQqMzATpyef/fWq1JnzJ+1yVyjbTBrMA4GA1UdDwEB\n/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/\nBAUwAwEB/zApBgNVHQ4EIgQg6XB/Y5lrxkP++/DD0Dgv+XkRXe2tqqe220FlcZcM\nJHUwCgYIKoZIzj0EAwIDSAAwRQIhAIJ8nzdna5Dl3ZWhXv2P6GfET7uf+4PDPS7A\n2N1IXlDiAiB/i3utOzhhXjm7+HTaXDWM+Q6Rxxzq5GoZrPMF+TY7lg==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org3.example.com": {
"url": "grpcs://localhost:12051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org3.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICZDCCAgqgAwIBAgIRANy2QltPJVGvPRHkwgo55GowCgYIKoZIzj0EAwIwfDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHDAaBgNVBAoTE2lzcC50cmFmZmljZmluZS5jb20xIjAgBgNVBAMT\nGXRsc2NhLmlzcC50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkw\nNTA5MTExNjAwWjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW\nMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEcMBoGA1UEChMTaXNwLnRyYWZmaWNmaW5l\nLmNvbTEiMCAGA1UEAxMZdGxzY2EuaXNwLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqG\nSM49AgEGCCqGSM49AwEHA0IABDVsg+823dcGvYv7w8Enfv+4x/Otj00PEs1G8u1T\nl3/iAHGvidf7/KxqePr5j3CQqMzATpyef/fWq1JnzJ+1yVyjbTBrMA4GA1UdDwEB\n/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/\nBAUwAwEB/zApBgNVHQ4EIgQg6XB/Y5lrxkP++/DD0Dgv+XkRXe2tqqe220FlcZcM\nJHUwCgYIKoZIzj0EAwIDSAAwRQIhAIJ8nzdna5Dl3ZWhXv2P6GfET7uf+4PDPS7A\n2N1IXlDiAiB/i3utOzhhXjm7+HTaXDWM+Q6Rxxzq5GoZrPMF+TY7lg==\n-----END CERTIFICATE-----\n"
}
},
"peer0.org4.example.com": {
"url": "grpcs://localhost:13051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org4.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICYzCCAgmgAwIBAgIQbdOs1p1J1MAJWjwsm9509DAKBggqhkjOPQQDAjB8MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEcMBoGA1UEChMTcHNwLnRyYWZmaWNmaW5lLmNvbTEiMCAGA1UEAxMZ\ndGxzY2EucHNwLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2MDBaFw0yOTA1\nMDkxMTE2MDBaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw\nFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNwc3AudHJhZmZpY2ZpbmUu\nY29tMSIwIAYDVQQDExl0bHNjYS5wc3AudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI\nzj0CAQYIKoZIzj0DAQcDQgAEqgBAvFLH28B1bU9v9rWSyyhT0oA2kbeIDVkweUHM\nwWrm3oIIgE7DvQILIPY7bcI13oQUN4mzuHCZfV73sLRSZqNtMGswDgYDVR0PAQH/\nBAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8E\nBTADAQH/MCkGA1UdDgQiBCBn1ZzxNv7+NunGcW5oxKsgm6Gl85pt1Rx/u/X5OOuH\n7jAKBggqhkjOPQQDAgNIADBFAiEAtub3Ed+xQhbaBigfIG3pZaf8VKWvFSIh2175\nupJfsbkCICalJIrBKnItZVpMEvwG4Oopuch+T3MxpVx+8wzMu9vy\n-----END CERTIFICATE-----\n"
}
},
"peer1.org4.example.com": {
"url": "grpcs://localhost:14051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org4.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICYzCCAgmgAwIBAgIQbdOs1p1J1MAJWjwsm9509DAKBggqhkjOPQQDAjB8MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEcMBoGA1UEChMTcHNwLnRyYWZmaWNmaW5lLmNvbTEiMCAGA1UEAxMZ\ndGxzY2EucHNwLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2MDBaFw0yOTA1\nMDkxMTE2MDBaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw\nFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNwc3AudHJhZmZpY2ZpbmUu\nY29tMSIwIAYDVQQDExl0bHNjYS5wc3AudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI\nzj0CAQYIKoZIzj0DAQcDQgAEqgBAvFLH28B1bU9v9rWSyyhT0oA2kbeIDVkweUHM\nwWrm3oIIgE7DvQILIPY7bcI13oQUN4mzuHCZfV73sLRSZqNtMGswDgYDVR0PAQH/\nBAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8E\nBTADAQH/MCkGA1UdDgQiBCBn1ZzxNv7+NunGcW5oxKsgm6Gl85pt1Rx/u/X5OOuH\n7jAKBggqhkjOPQQDAgNIADBFAiEAtub3Ed+xQhbaBigfIG3pZaf8VKWvFSIh2175\nupJfsbkCICalJIrBKnItZVpMEvwG4Oopuch+T3MxpVx+8wzMu9vy\n-----END CERTIFICATE-----\n"
}
},
"peer0.org5.example.com": {
"url": "grpcs://localhost:15051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org5.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICgDCCAiegAwIBAgIQcHgIQ/lJmulJVPJ7/Cl/EDAKBggqhkjOPQQDAjCBijEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xIzAhBgNVBAoTGmdvdmVybm1lbnQudHJhZmZpY2ZpbmUuY29tMSkw\nJwYDVQQDEyB0bHNjYS5nb3Zlcm5tZW50LnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1\nMTIxMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGKMQswCQYDVQQGEwJVUzETMBEGA1UE\nCBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEjMCEGA1UEChMa\nZ292ZXJubWVudC50cmFmZmljZmluZS5jb20xKTAnBgNVBAMTIHRsc2NhLmdvdmVy\nbm1lbnQudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\n+0WWqJrrr9D+Cz//HMzI9P/cisjC8kO2SSf2wc68z9gFlqou5mq/1O+uCSNHTD1s\nbD+BtvvwTvIBJND1o0pdgKNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG\nCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBO\navVbFXndWKmLzd4nN3qQ3KnSaYrllyXgPF98qUfOgTAKBggqhkjOPQQDAgNHADBE\nAiBh03jy37BAXbZfMevAEC4x7PJDDON9yOHTkxHf8pZJ3wIgM/rgG+upf0y2d1R+\nLAYbYO/zNSrNIHCnkqi4Qi34Qjc=\n-----END CERTIFICATE-----\n"
}
},
"peer1.org5.example.com": {
"url": "grpcs://localhost:16051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org5.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICgDCCAiegAwIBAgIQcHgIQ/lJmulJVPJ7/Cl/EDAKBggqhkjOPQQDAjCBijEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xIzAhBgNVBAoTGmdvdmVybm1lbnQudHJhZmZpY2ZpbmUuY29tMSkw\nJwYDVQQDEyB0bHNjYS5nb3Zlcm5tZW50LnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1\nMTIxMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGKMQswCQYDVQQGEwJVUzETMBEGA1UE\nCBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEjMCEGA1UEChMa\nZ292ZXJubWVudC50cmFmZmljZmluZS5jb20xKTAnBgNVBAMTIHRsc2NhLmdvdmVy\nbm1lbnQudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\n+0WWqJrrr9D+Cz//HMzI9P/cisjC8kO2SSf2wc68z9gFlqou5mq/1O+uCSNHTD1s\nbD+BtvvwTvIBJND1o0pdgKNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG\nCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBO\navVbFXndWKmLzd4nN3qQ3KnSaYrllyXgPF98qUfOgTAKBggqhkjOPQQDAgNHADBE\nAiBh03jy37BAXbZfMevAEC4x7PJDDON9yOHTkxHf8pZJ3wIgM/rgG+upf0y2d1R+\nLAYbYO/zNSrNIHCnkqi4Qi34Qjc=\n-----END CERTIFICATE-----\n"
}
},
"peer0.org6.example.com": {
"url": "grpcs://localhost:17051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org6.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICfTCCAiSgAwIBAgIRAMiXIUFS5FWbhkzb1KD/9ucwCgYIKoZIzj0EAwIwgYgx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgw\nJgYDVQQDEx90bHNjYS5pbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDUx\nMjExMTYwMFoXDTI5MDUwOTExMTYwMFowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI\nEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSIwIAYDVQQKExlp\nbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgwJgYDVQQDEx90bHNjYS5pbnN1cmFu\nY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3vJQ\nt/ol7QfD5CPYusvNF6Y6DcpJmPYuPv11y37csmz3FxU5b8ZHhQ6LydizToXx7Kre\nCxf9/WCH7Ax2dmHCwaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsG\nAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDb4Zpv\nHUl/+8gsqMfPQ7Nu4Pad0cyHlRfUvqTdZKemTTAKBggqhkjOPQQDAgNHADBEAiAI\nz7f0GXmiOKd3LTNt1D2xemmT+y1VLVJSiCgtcNY8cAIgF/vsel9gGuCGx+Ol0vrr\nrE8zA632kU1oS+rWP+LICZk=\n-----END CERTIFICATE-----\n"
}
},
"peer1.org6.example.com": {
"url": "grpcs://localhost:18051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org6.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICfTCCAiSgAwIBAgIRAMiXIUFS5FWbhkzb1KD/9ucwCgYIKoZIzj0EAwIwgYgx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgw\nJgYDVQQDEx90bHNjYS5pbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDUx\nMjExMTYwMFoXDTI5MDUwOTExMTYwMFowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI\nEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSIwIAYDVQQKExlp\nbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgwJgYDVQQDEx90bHNjYS5pbnN1cmFu\nY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3vJQ\nt/ol7QfD5CPYusvNF6Y6DcpJmPYuPv11y37csmz3FxU5b8ZHhQ6LydizToXx7Kre\nCxf9/WCH7Ax2dmHCwaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsG\nAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDb4Zpv\nHUl/+8gsqMfPQ7Nu4Pad0cyHlRfUvqTdZKemTTAKBggqhkjOPQQDAgNHADBEAiAI\nz7f0GXmiOKd3LTNt1D2xemmT+y1VLVJSiCgtcNY8cAIgF/vsel9gGuCGx+Ol0vrr\nrE8zA632kU1oS+rWP+LICZk=\n-----END CERTIFICATE-----\n"
}
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "https://localhost:7054",
"caName": "ca.org1.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIIChzCCAi2gAwIBAgIQOoF14tAweIbZyYIyDnRE3TAKBggqhkjOPQQDAjCBjTEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xJjAkBgNVBAoTHWdlbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29t\nMSkwJwYDVQQDEyBjYS5nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNvbTAeFw0x\nOTA1MTIxMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGNMQswCQYDVQQGEwJVUzETMBEG\nA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UE\nChMdZ2VuZXJhbHB1YmxpYy50cmFmZmljZmluZS5jb20xKTAnBgNVBAMTIGNhLmdl\nbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEa0YngwGM6y0ep8rUt/NTp4Y5UzxvEAW5xvhIIhuBZvMpgAInBu6OzNBX\nL2ZXcMDrYGqNEEnCei2RMz8eHKx0BaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCAe7BDJ62hOC19wjgYEsRTRmrrv4UXY8W06qg8SbEOjmTAKBggqhkjOPQQD\nAgNIADBFAiEA319TsaN9C2CpfLRF8PLO/QBBxscgyX/8mWSdAbBOKVsCIHR580EJ\nY4V7qwfCL5Kc3fbESxZwxREPeR1dZnrSpFgM\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org2.example.com": {
"url": "https://localhost:8054",
"caName": "ca.org2.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICczCCAhqgAwIBAgIRAOVqLvjfUAmiu2YoC8I/dwgwCgYIKoZIzj0EAwIwgYMx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGljZS50cmFmZmljZmluZS5jb20xJDAi\nBgNVBAMTG2NhLnNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2\nMDBaFw0yOTA1MDkxMTE2MDBaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs\naWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEhMB8GA1UEChMYc2xwb2xp\nY2UudHJhZmZpY2ZpbmUuY29tMSQwIgYDVQQDExtjYS5zbHBvbGljZS50cmFmZmlj\nZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQDYzSqtOC6vZ2s+R5l\nSLjvfdRG4q8RxQ4OX8H76rhg28JiPz1P75UPYGPGWh0aJRRkcyq10LCcZWHRY2no\nqw4oo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG\nAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIImKaCGN2VB3oFeWBNK2\nIt6cUMbVBMWN1Txj4lQ+HDBwMAoGCCqGSM49BAMCA0cAMEQCIDjefm2Y2OXyMM4O\nBhFFlDCxtzPweCz+EGPonYC8hFSvAiBBV76DP36dAbabdBCSw1IR7r6EiMmFwlpz\nqs3xmr3H7A==\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org3.example.com": {
"url": "https://localhost:9054",
"caName": "ca.org3.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICXTCCAgSgAwIBAgIRAKk3BXIIk+ziwNe7yp1xzuUwCgYIKoZIzj0EAwIweTEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHDAaBgNVBAoTE2lzcC50cmFmZmljZmluZS5jb20xHzAdBgNVBAMT\nFmNhLmlzcC50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5\nMTExNjAwWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG\nA1UEBxMNU2FuIEZyYW5jaXNjbzEcMBoGA1UEChMTaXNwLnRyYWZmaWNmaW5lLmNv\nbTEfMB0GA1UEAxMWY2EuaXNwLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqGSM49AgEG\nCCqGSM49AwEHA0IABNYfwo4mH6GtzxbABGv+n8mKPa6v8O5UBH5sKdXZRX4dyJsm\nLHsI3CxHstH7yBuCkf1DqUTkBgVWdTap5T442QijbTBrMA4GA1UdDwEB/wQEAwIB\npjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB\n/zApBgNVHQ4EIgQgmdYX31zRWiWaovt1TmJajEW26Pq5PywYFOyCKRTJ3l4wCgYI\nKoZIzj0EAwIDRwAwRAIgEMVdYoV+WKQYCdMckF2517jYQlZ7jrl10HsBGq3NBmIC\nIBA4CgzLMt0U2RRast2rQvY3P02ZcVKt8Ud8ctEj0wy6\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org4.example.com": {
"url": "https://localhost:10054",
"caName": "ca.org4.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICXDCCAgOgAwIBAgIQJaUniBDzk/IuUvxmYAfaqDAKBggqhkjOPQQDAjB5MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEcMBoGA1UEChMTcHNwLnRyYWZmaWNmaW5lLmNvbTEfMB0GA1UEAxMW\nY2EucHNwLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2MDBaFw0yOTA1MDkx\nMTE2MDBaMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNwc3AudHJhZmZpY2ZpbmUuY29t\nMR8wHQYDVQQDExZjYS5wc3AudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYI\nKoZIzj0DAQcDQgAE++gZc/Djq+rtJIQn2rhj5zPcWNm4ndve9yy4QXY0+sUDPnYT\n7gKoBsa/Xb+gueYRmPn2adQ9deIKIeEqjO9XrqNtMGswDgYDVR0PAQH/BAQDAgGm\nMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/\nMCkGA1UdDgQiBCAJH7niEoeaaUBYw6rIAQ1ofwkIwG4mScqDAo+lg7AszDAKBggq\nhkjOPQQDAgNHADBEAiALIx/ZDFt3ymuahlewATncZZ+7+cVM/18Olc4L/41ltgIg\nMWpsKGpvfM9cStYPPQz4qCrhFfV8tZv7OXVBj7qcUK4=\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org5.example.com": {
"url": "https://localhost:11054",
"caName": "ca.org5.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICejCCAiGgAwIBAgIQBuMz8sudpN5iT6fRNEgKNjAKBggqhkjOPQQDAjCBhzEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xIzAhBgNVBAoTGmdvdmVybm1lbnQudHJhZmZpY2ZpbmUuY29tMSYw\nJAYDVQQDEx1jYS5nb3Zlcm5tZW50LnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIx\nMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGHMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEjMCEGA1UEChMaZ292\nZXJubWVudC50cmFmZmljZmluZS5jb20xJjAkBgNVBAMTHWNhLmdvdmVybm1lbnQu\ndHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEII7G/k1K\n9Zs6+EbaTxVhUDV9dFXh59fyI/VFubMwF9fFC9f0lhZh12L7LtMIYwdkqIhneP5Q\n7eX9bg9qv8+NvaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUF\nBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCB4blrrlcqW\n6vxzyhaF7cKvGKgfqYsohRhQs213vm2T/zAKBggqhkjOPQQDAgNHADBEAiBvZjZk\nIIySpneI1d2iVI08bZjkmo6a2jveAlJfKSRTqwIgFIofZ9plkvLcCJHrktj8q4ry\nmmVhbUvWk/DCWKeYrx4=\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org6.example.com": {
"url": "https://localhost:12054",
"caName": "ca.org6.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICeDCCAh6gAwIBAgIRAOqkaWINVGLuSFu0dS+nu4EwCgYIKoZIzj0EAwIwgYUx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSUw\nIwYDVQQDExxjYS5pbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDUxMjEx\nMTYwMFoXDTI5MDUwOTExMTYwMFowgYUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD\nYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1\ncmFuY2UudHJhZmZpY2ZpbmUuY29tMSUwIwYDVQQDExxjYS5pbnN1cmFuY2UudHJh\nZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsswvuxQfFKAm\n6uLB0SHmTDZ8XAlDUWt+K/OtzpU2nu/tlku+AlwuwY7VytoBEDOdaQZQCTJxoXFv\nd/r2lYZo7aNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMC\nBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBhlhz8nbEUON18\n5O6y51ZjqY5RlKibq6BJUxng6ZFsujAKBggqhkjOPQQDAgNIADBFAiEA7iJE8HiY\nyHVxGqb0/zc03pgM86mWTpmOVvRtNt9PQVsCIDdHceszC3ziOnd1TiT9soO7zMJX\nnXV8IOemP+NXD2qn\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
}
}
}
But with this same connection-profile I used successfully to connect to the blockchain through the node-sdk but here I cannot see any reason for these errors.I tried lot to a find a solution to this problem can someone help me to find out a solution to this problem.Thank you.
I am currently using Convector and Hurley together to develop my project and I am also trying to use Hyperledger Explorer on my Infra but I get a channel discovery error a each start.
One remark concerning your connection profile json file: in the client section you are not using any parameters like "credentialStore" to indicate what identity the client should use to connect?
Try to do the following modification in your json file, on my side it fixed the issue:
{
"name": "first-network",
"version": "1.0.0",
"client": {
"organization": "Org2MSP",
"tlsEnable": true,
"adminUser": "admin",
"adminPassword": "adminpw",
"enableAuthentication": false
},
"Org2MSP": {
"mspid": "Org2MSP",
"peers": [
"peer0.org2.example.com",
"peer1.org2.example.com"
],
"certificateAuthorities": ["ca.org2.example.com"]
},
I have successfully set up and run my 3 orderers, 3 orgs - 9 peers hyperledger fabric network. Although hyperledger explorer seems to be running in the standardized way (no docker) without error, it only shows peers specified in CORE_PEER_GOSSIP_EXTERNALENDPOINT protocol of organization "org1MSP", found in line 10 of config.json file.
Please find below the config.json file.
{
"name": "test-network",
"version": "1.0.0",
"license": "Apache-2.0",
"client": {
"tlsEnable": true,
"adminUser": "admin",
"adminPassword": "adminpw",
"enableAuthentication": false,
"organization": "org1MSP",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"mychannel": {
"orderers": [
"orderer1.test.com",
"orderer2.test.com",
"orderer2.test.com"
],
"peers": {
"peer0.org1.test.com": {},
"peer1.org1.test.com": {},
"peer2.org1.test.com": {},
"peer0.org2.test.com": {},
"peer1.org2.test.com": {},
"peer2.org2.test.com": {},
"peer0.org3.test.com": {},
"peer1.org3.test.com": {},
"peer2.org3.test.com": {}
},
"connection": {
"timeout": {
"peer": {
"endorser": "6000",
"eventHub": "6000",
"eventReg": "6000"
}
}
}
}
},
"organizations": {
"org1MSP": {
"mspid": "org1MSP",
"peers": [
"peer0.org1.test.com",
"peer1.org1.test.com",
"peer2.org1.test.com"
],
"fullpath": true,
"adminPrivateKey": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org1.test.com/users/Admin#org1.test.com/msp/keystore/7f7056172b7d3667783dfa1567e8a8617512ded3e7ace54d04ce49e4d66882f1_sk"
},
"signedCert": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org1.test.com/users/Admin#org1.test.com/msp/signcerts/Admin#org1.test.com-cert.pem"
}
},
"org2MSP": {
"mspid": "org2MSP",
"peers": [
"peer0.org2.test.com",
"peer1.org2.test.com",
"peer2.org2.test.com"
],
"fullpath": true,
"adminPrivateKey": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org2.test.com/users/Admin#org2.test.com/msp/keystore/9b1c877670442b629bc2512f96f2b4e5f534cbe97c47657dcfcfa3e3a1d13a5f_sk"
},
"signedCert": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org2.test.com/users/Admin#org2.test.com/msp/signcerts/Admin#org2.test.com-cert.pem"
}
},
"org3MSP": {
"mspid": "org3MSP",
"peers": [
"peer0.org3.test.com",
"peer1.org3.test.com",
"peer2.org3.test.com"
],
"fullpath": true,
"adminPrivateKey": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org3.test.com/users/Admin#org3.test.com/msp/keystore/a1d310fc74eea57d6242dcbeced092e8c89076683f4b83266d51264a8121ab5c_sk"
},
"signedCert": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org3.test.com/users/Admin#org3.test.com/msp/signcerts/Admin#org3.test.com-cert.pem"
}
}
},
"peers": {
"peer0.org1.test.com": {
"name": "org1",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org1.test.com/peers/peer0.org1.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:7051",
"eventUrl": "grpcs://localhost:7053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.test.com"
}
},
"peer1.org1.test.com": {
"name": "org1",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org1.test.com/peers/peer1.org1.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:8051",
"eventUrl": "grpcs://localhost:8053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.test.com"
}
},
"peer2.org1.test.com": {
"name": "org1",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org1.test.com/peers/peer2.org1.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:9051",
"eventUrl": "grpcs://localhost:9053",
"grpcOptions": {
"ssl-target-name-override": "peer2.org1.test.com"
}
},
"peer0.org2.test.com": {
"name": "org2",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org2.test.com/peers/peer0.org2.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:10051",
"eventUrl": "grpcs://localhost:10053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.test.com"
}
},
"peer1.org2.test.com": {
"name": "org2",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org2.test.com/peers/peer1.org2.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:11051",
"eventUrl": "grpcs://localhost:11053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.test.com"
}
},
"peer2.org2.test.com": {
"name": "org2",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org2.test.com/peers/peer2.org2.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:12051",
"eventUrl": "grpcs://localhost:12053",
"grpcOptions": {
"ssl-target-name-override": "peer2.org2.test.com"
}
},
"peer0.org3.test.com": {
"name": "org3",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org3.test.com/peers/peer0.org3.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:13051",
"eventUrl": "grpcs://localhost:13053",
"grpcOptions": {
"ssl-target-name-override": "peer0.org3.test.com"
}
},
"peer1.org3.test.com": {
"name": "org3",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org3.test.com/peers/peer1.org3.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:14051",
"eventUrl": "grpcs://localhost:14053",
"grpcOptions": {
"ssl-target-name-override": "peer1.org3.test.com"
}
},
"peer2.org3.test.com": {
"name": "org3",
"tlsCACerts": {
"path": "/home/xarhs/hyperledger/fabric-samples/test-network/crypto-config/peerOrganizations/org3.test.com/peers/peer2.org3.test.com/tls/ca.crt"
},
"url": "grpcs://localhost:15051",
"eventUrl": "grpcs://localhost:15053",
"grpcOptions": {
"ssl-target-name-override": "peer2.org3.test.com"
},
"orderers": {
"orderer1.test.com": {
"url": "grpcs://localhost:7050"
},
"orderer2.test.com": {
"url": "grpcs://localhost:8050"
},
"orderer3.test.com": {
"url": "grpcs://localhost:9050"
}
}
}
}
}
I have tried changing org1MSP to org2MSP etc. and explorer successfully show only relevant peers. I am having a hard time trying to figure out why explorer can not parse successfully all orgs.
Any leads would be appreciated!
I'm getting Failed to register user user1: Error: Common connection profile is missing this client's organization and certificate authority when trying to register a user in Hyperledger Fabric network. I'm using fabcar sample. I can register an admin.
$ ts-node src/enrollAdmin.ts
Wallet path: /Users/<home>/ws/hlf/fabcar-api/wallet
Successfully enrolled admin user "admin" and imported it into the wallet
When I try to register a new user:
$ ts-node src/registerUser.ts
Wallet path: /Users/<home>/ws/hlf/fabcar-api/wallet
Failed to register user user1: Error: Common connection profile is missing this client's organization and certificate authority
By following sample connection profile and Common connection profile missing error while adding user for organization I've constructed my network connection profile:
{
"name": "fabcar-network",
"version": "1.0.0",
"client": {
"tlsEnable": false,
"organization": "Org1",
"connection": {
"timeout": {
"peer": {
"endorser": "300"
},
"orderer": "300"
}
}
},
"channels": {
"public-channel": {
"orderers": [
"ord1-hlf-ord.orderers.svc.cluster.local"
],
"peers": {
"peer0-hlf-peer.org1.svc.cluster.local": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true,
"discover": true
},
"peer0-hlf-peer.org2.svc.cluster.local": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true,
"discover": true
},
"peer0-hlf-peer.org3.svc.cluster.local": {
"endorsingPeer": true,
"chaincodeQuery": true,
"ledgerQuery": true,
"eventSource": true,
"discover": true
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0-hlf-peer.org1.svc.cluster.local"
],
"certificateAuthorities": [
"ca.org1.svc.cluster.local"
],
"adminPrivateKey": {
"path": "../crypto-config/peerOrganizations/org1.svc.cluster.local/users/Admin#org1.svc.cluster.local/msp/keystore/13d6b4ac07ce51716e94cb1139cfd2807307a8b908768e3297a7fedac0e08e5e_sk"
},
" signedCert": {
"path": "../crypto-config/peerOrganizations/org2.svc.cluster.local/users/Admin#org2.svc.cluster.local/msp/signcerts/Admin#org2.svc.cluster.local-cert.pem"
}
},
"Org2": {
"mspid": "Org2MSP",
"peers": [
"peer0-hlf-peer.org2.svc.cluster.local"
],
"certificateAuthorities": [
"ca.org2.svc.cluster.local"
],
"adminPrivateKey": {
"path": "../crypto-config/peerOrganizations/org2.svc.cluster.local/users/Admin#org2.svc.cluster.local/msp/keystore/98299178c3957967864dbe555e7acf677d329cdce3d7593a5f750bb3f002afb2_sk"
},
" signedCert": {
"path": "../crypto-config/peerOrganizations/org2.svc.cluster.local/users/Admin#org2.svc.cluster.local/msp/signcerts/Admin#org2.svc.cluster.local-cert.pem"
}
},
"Org3": {
"mspid": "Org3MSP",
"peers": [
"peer0-hlf-peer.org3.svc.cluster.local"
],
"certificateAuthorities": [
"ca.org3.svc.cluster.local"
],
"adminPrivateKey": {
"path": "../crypto-config/peerOrganizations/org3.svc.cluster.local/users/Admin#org3.svc.cluster.local/msp/keystore/4f62c790b545b1ff10f42a2ceb629f3f2f1068fe5ea1c78255d6332ed3f4a465_sk"
},
" signedCert": {
"path": "../crypto-config/peerOrganizations/org3.svc.cluster.local/users/Admin#org3.svc.cluster.local/msp/signcerts/Admin#org3.svc.cluster.local-cert.pem"
}
}
},
"orderers": {
"ord1-hlf-ord.orderers.svc.cluster.local": {
"url": "grpc://0.0.0.0:7050"
}
},
"peers": {
"peer0-hlf-peer.org1.svc.cluster.local": {
"url": "grpc://0.0.0.0:7051",
"events": "grpc://0.0.0.0:7053"
},
"peer0-hlf-peer.org2.svc.cluster.local": {
"url": "grpc://0.0.0.0:8051",
"events": "grpc://0.0.0.0:8053"
},
"peer0-hlf-peer.org3.svc.cluster.local": {
"url": "grpc://0.0.0.0:9051",
"events": "grpc://0.0.0.0:9053"
}
},
"certificateAuthorities": {
"ca.org1.svc.cluster.local": {
"url": "http://0.0.0.0:7054",
"httpOptions": {
"verify": false
},
"tlsCACerts": {
"path": ""
},
"caName": "ca.org1.svc.cluster.local",
"registrar": [
{
"enrollId": "admin",
"enrollSecret": "adminpw"
}
]
},
"ca.org2.svc.cluster.local": {
"url": "http://0.0.0.0:8054",
"httpOptions": {
"verify": false
},
"tlsCACerts": {
"path": ""
},
"caName": "ca.org2.svc.cluster.local",
"registrar": [
{
"enrollId": "admin",
"enrollSecret": "adminpw"
}
]
},
"ca.org3.svc.cluster.local": {
"url": "http://0.0.0.0:9054",
"httpOptions": {
"verify": false
},
"tlsCACerts": {
"path": ""
},
"caName": "ca.org3.svc.cluster.local",
"registrar": [
{
"enrollId": "admin",
"enrollSecret": "adminpw"
}
]
}
}
}
Though maybe irrelevant, the network is running on Kubernetes using stable helm charts. I can execute all operations from CLI.
For the connection profile, under "organizations", you could try to use "org3" instead of "Org3".
I still can't figure out why o is in lower case for "org3" but O are in upper case for "Org1" and "Org2".
It just so happens that it works for me!
Problem:
I have created a fabric network. I installed and instantiated a chaincode from cli. After I submit some transactions through cli . After I tried to invoke a transaction through node SDK it failed with giving me this error.
2019-05-19T05:38:04.866Z - error: [Channel.js]: Channel:myc received
discovery error:access denied 2019-05-19T05:38:04.868Z - error:
[Channel.js]: Error: Channel:myc Discovery error:access denied
2019-05-19T05:38:04.904Z - error: [Channel.js]: Channel:myc received
discovery error:access denied 2019-05-19T05:38:04.905Z - error:
[Channel.js]: Error: Channel:trafficfine Discovery error:access denied
2019-05-19T05:38:04.906Z - error: [Network]:
_initializeInternalChannel: Unable to initialize channel. Attempted to contact 2 Peers. Last error was Error: Channel:myc Discovery
error:access deniedFailed to submit transaction: Error: Unable to
initialize channel. Attempted to contact 2 Peers. Last error was
Error: Channel:myc Discovery error:access denied
This is my connectionprofile.json file.
{
"name": "example-network",
"version": "1.0.0",
"client": {
"organization": "Org2"
},
"channels": {
"myc": {
"orderers": ["orderer.example.com"],
"peers": {
"peer0.org1.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org1.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org2.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org2.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org3.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org3.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org4.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org4.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org5.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org5.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
},
"peer0.org6.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org6.example.com": {
"endorsingPeer": false,
"chaincodeQuery": false,
"eventSource": true
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com",
"peer1.org1.example.com"
],
"certificateAuthorities": ["ca.org1.example.com"]
},
"Org2": {
"mspid": "Org2MSP",
"peers": [
"peer0.org2.example.com",
"peer1.org2.example.com"
],
"certificateAuthorities": ["ca.org2.example.com"]
},
"Org3": {
"mspid": "Org3MSP",
"peers": ["peer0.org3.example.com", "peer1.org3.example.com"],
"certificateAuthorities": ["ca.org3.example.com"]
},
"Org4": {
"mspid": "Org4MSP",
"peers": ["peer0.org4.example.com", "peer1.org4.example.com"],
"certificateAuthorities": ["ca.org4.example.com"]
},
"Org5": {
"mspid": "Org5MSP",
"peers": [
"peer0.org5.example.com",
"peer1.org5.example.com"
],
"certificateAuthorities": ["ca.org5.example.com"]
},
"Org6": {
"mspid": "Org6MSP",
"peers": [
"peer0.org6.example.com",
"peer1.org6.example.com"
],
"certificateAuthorities": ["ca.org6.example.com"]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpcs://localhost:7050",
"grpcOptions": {
"ssl-target-name-override": "orderer.example.com",
"grpc-max-send-message-length": 4194304
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICUjCCAfmgAwIBAgIQNj7a+Kn6DUjEfOwbpZzs9DAKBggqhkjOPQQDAjB0MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEYMBYGA1UEChMPdHJhZmZpY2ZpbmUuY29tMR4wHAYDVQQDExV0bHNj\nYS50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5MTExNjAw\nWjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzEYMBYGA1UEChMPdHJhZmZpY2ZpbmUuY29tMR4wHAYDVQQD\nExV0bHNjYS50cmFmZmljZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\nAAQ1X/r/Wz9/9wTfF5PIczpCN2TtCgaoyHXnXwjyWBWXHbG2QzDx6Yhs8Fx7ui+w\n0IeJspCfQdjWcvu4/8md539fo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYw\nFAYIKwYBBQUHAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIE\nIIStjqA7D7b/xqBhVQA1ypl8gP11P0P7ijitskHZ+NY6MAoGCCqGSM49BAMCA0cA\nMEQCIGW065Uo9CTIAhWYglKAh9G4AiOUBQ6Bh/+lplUm5HN1AiBteSDToihfQBAh\nPPDPUpBGhzQu/FhtjVJw3itkUNSSVQ==\n-----END CERTIFICATE-----\n"
}
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com",
"grpc.keepalive_time_ms": 600000
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICjjCCAjSgAwIBAgIRAJSkuaGutlKDo2VJV48SQxwwCgYIKoZIzj0EAwIwgZAx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSYwJAYDVQQKEx1nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNv\nbTEsMCoGA1UEAxMjdGxzY2EuZ2VuZXJhbHB1YmxpYy50cmFmZmljZmluZS5jb20w\nHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5MTExNjAwWjCBkDELMAkGA1UEBhMCVVMx\nEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xJjAk\nBgNVBAoTHWdlbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29tMSwwKgYDVQQDEyN0\nbHNjYS5nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqGSM49AgEG\nCCqGSM49AwEHA0IABDjHbkyDu1SJQGlT9MHvKpMuVVqe9Lt/Nubff6xV/lou0WgR\n1fK0Nw5Rcpbb7Vq/7fS6fgkuhD8m0ppwa894KAOjbTBrMA4GA1UdDwEB/wQEAwIB\npjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB\n/zApBgNVHQ4EIgQg8uHHt7GIMY8l21cnfoRfY1uPz3UFkiFNh/cz2vPNwUQwCgYI\nKoZIzj0EAwIDSAAwRQIhAI7ZjLZpPos3YQl8Oy81vyJAySS7tPyJrS8qYu6so/Hg\nAiAYtK9SeHhBUkcEVMiUHlVMPGedOwS9Ci1iq25RjE+42A==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org1.example.com": {
"url": "grpcs://localhost.com",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICjjCCAjSgAwIBAgIRAJSkuaGutlKDo2VJV48SQxwwCgYIKoZIzj0EAwIwgZAx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSYwJAYDVQQKEx1nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNv\nbTEsMCoGA1UEAxMjdGxzY2EuZ2VuZXJhbHB1YmxpYy50cmFmZmljZmluZS5jb20w\nHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5MTExNjAwWjCBkDELMAkGA1UEBhMCVVMx\nEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xJjAk\nBgNVBAoTHWdlbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29tMSwwKgYDVQQDEyN0\nbHNjYS5nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqGSM49AgEG\nCCqGSM49AwEHA0IABDjHbkyDu1SJQGlT9MHvKpMuVVqe9Lt/Nubff6xV/lou0WgR\n1fK0Nw5Rcpbb7Vq/7fS6fgkuhD8m0ppwa894KAOjbTBrMA4GA1UdDwEB/wQEAwIB\npjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB\n/zApBgNVHQ4EIgQg8uHHt7GIMY8l21cnfoRfY1uPz3UFkiFNh/cz2vPNwUQwCgYI\nKoZIzj0EAwIDSAAwRQIhAI7ZjLZpPos3YQl8Oy81vyJAySS7tPyJrS8qYu6so/Hg\nAiAYtK9SeHhBUkcEVMiUHlVMPGedOwS9Ci1iq25RjE+42A==\n-----END CERTIFICATE-----\n"
}
},
"peer0.org2.example.com": {
"url": "grpcs://localhost:9051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICeTCCAiCgAwIBAgIRAOPkFgOOl0nsonSTTg8Vc+cwCgYIKoZIzj0EAwIwgYYx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGljZS50cmFmZmljZmluZS5jb20xJzAl\nBgNVBAMTHnRsc2NhLnNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIx\nMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGGMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEhMB8GA1UEChMYc2xw\nb2xpY2UudHJhZmZpY2ZpbmUuY29tMScwJQYDVQQDEx50bHNjYS5zbHBvbGljZS50\ncmFmZmljZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATiUSah6Be8\n/n72/RyxsOoaOgvm847Qu1Mf6aPfMjfZECsd8OHa+pWA90QYyH4SZk7RbE+8nHGi\nmdovZfUSbXJOo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIE/Wz5BRtplq\noZQBHeqVXrmcFI4GKpJWYPECdAc6ygzaMAoGCCqGSM49BAMCA0cAMEQCIDtkLhc3\nsZLOIFCgeFOv5SmyCl1BbOl6AMwhm/dueZ72AiA7XkzTeiYj9PWs0XBaSfUf/Q3l\n5++8p89wiPd1Rut7KQ==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org2.example.com": {
"url": "grpcs://localhost:10051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICeTCCAiCgAwIBAgIRAOPkFgOOl0nsonSTTg8Vc+cwCgYIKoZIzj0EAwIwgYYx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGljZS50cmFmZmljZmluZS5jb20xJzAl\nBgNVBAMTHnRsc2NhLnNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIx\nMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGGMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEhMB8GA1UEChMYc2xw\nb2xpY2UudHJhZmZpY2ZpbmUuY29tMScwJQYDVQQDEx50bHNjYS5zbHBvbGljZS50\ncmFmZmljZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATiUSah6Be8\n/n72/RyxsOoaOgvm847Qu1Mf6aPfMjfZECsd8OHa+pWA90QYyH4SZk7RbE+8nHGi\nmdovZfUSbXJOo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUH\nAwIGCCsGAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIE/Wz5BRtplq\noZQBHeqVXrmcFI4GKpJWYPECdAc6ygzaMAoGCCqGSM49BAMCA0cAMEQCIDtkLhc3\nsZLOIFCgeFOv5SmyCl1BbOl6AMwhm/dueZ72AiA7XkzTeiYj9PWs0XBaSfUf/Q3l\n5++8p89wiPd1Rut7KQ==\n-----END CERTIFICATE-----\n"
}
},
"peer0.org3.example.com": {
"url": "grpcs://localhost:11051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org3.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICZDCCAgqgAwIBAgIRANy2QltPJVGvPRHkwgo55GowCgYIKoZIzj0EAwIwfDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHDAaBgNVBAoTE2lzcC50cmFmZmljZmluZS5jb20xIjAgBgNVBAMT\nGXRsc2NhLmlzcC50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkw\nNTA5MTExNjAwWjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW\nMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEcMBoGA1UEChMTaXNwLnRyYWZmaWNmaW5l\nLmNvbTEiMCAGA1UEAxMZdGxzY2EuaXNwLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqG\nSM49AgEGCCqGSM49AwEHA0IABDVsg+823dcGvYv7w8Enfv+4x/Otj00PEs1G8u1T\nl3/iAHGvidf7/KxqePr5j3CQqMzATpyef/fWq1JnzJ+1yVyjbTBrMA4GA1UdDwEB\n/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/\nBAUwAwEB/zApBgNVHQ4EIgQg6XB/Y5lrxkP++/DD0Dgv+XkRXe2tqqe220FlcZcM\nJHUwCgYIKoZIzj0EAwIDSAAwRQIhAIJ8nzdna5Dl3ZWhXv2P6GfET7uf+4PDPS7A\n2N1IXlDiAiB/i3utOzhhXjm7+HTaXDWM+Q6Rxxzq5GoZrPMF+TY7lg==\n-----END CERTIFICATE-----\n"
}
},
"peer1.org3.example.com": {
"url": "grpcs://localhost:12051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org3.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICZDCCAgqgAwIBAgIRANy2QltPJVGvPRHkwgo55GowCgYIKoZIzj0EAwIwfDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHDAaBgNVBAoTE2lzcC50cmFmZmljZmluZS5jb20xIjAgBgNVBAMT\nGXRsc2NhLmlzcC50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkw\nNTA5MTExNjAwWjB8MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW\nMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEcMBoGA1UEChMTaXNwLnRyYWZmaWNmaW5l\nLmNvbTEiMCAGA1UEAxMZdGxzY2EuaXNwLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqG\nSM49AgEGCCqGSM49AwEHA0IABDVsg+823dcGvYv7w8Enfv+4x/Otj00PEs1G8u1T\nl3/iAHGvidf7/KxqePr5j3CQqMzATpyef/fWq1JnzJ+1yVyjbTBrMA4GA1UdDwEB\n/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/\nBAUwAwEB/zApBgNVHQ4EIgQg6XB/Y5lrxkP++/DD0Dgv+XkRXe2tqqe220FlcZcM\nJHUwCgYIKoZIzj0EAwIDSAAwRQIhAIJ8nzdna5Dl3ZWhXv2P6GfET7uf+4PDPS7A\n2N1IXlDiAiB/i3utOzhhXjm7+HTaXDWM+Q6Rxxzq5GoZrPMF+TY7lg==\n-----END CERTIFICATE-----\n"
}
},
"peer0.org4.example.com": {
"url": "grpcs://localhost:13051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org4.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICYzCCAgmgAwIBAgIQbdOs1p1J1MAJWjwsm9509DAKBggqhkjOPQQDAjB8MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEcMBoGA1UEChMTcHNwLnRyYWZmaWNmaW5lLmNvbTEiMCAGA1UEAxMZ\ndGxzY2EucHNwLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2MDBaFw0yOTA1\nMDkxMTE2MDBaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw\nFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNwc3AudHJhZmZpY2ZpbmUu\nY29tMSIwIAYDVQQDExl0bHNjYS5wc3AudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI\nzj0CAQYIKoZIzj0DAQcDQgAEqgBAvFLH28B1bU9v9rWSyyhT0oA2kbeIDVkweUHM\nwWrm3oIIgE7DvQILIPY7bcI13oQUN4mzuHCZfV73sLRSZqNtMGswDgYDVR0PAQH/\nBAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8E\nBTADAQH/MCkGA1UdDgQiBCBn1ZzxNv7+NunGcW5oxKsgm6Gl85pt1Rx/u/X5OOuH\n7jAKBggqhkjOPQQDAgNIADBFAiEAtub3Ed+xQhbaBigfIG3pZaf8VKWvFSIh2175\nupJfsbkCICalJIrBKnItZVpMEvwG4Oopuch+T3MxpVx+8wzMu9vy\n-----END CERTIFICATE-----\n"
}
},
"peer1.org4.example.com": {
"url": "grpcs://localhost:14051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org4.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICYzCCAgmgAwIBAgIQbdOs1p1J1MAJWjwsm9509DAKBggqhkjOPQQDAjB8MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEcMBoGA1UEChMTcHNwLnRyYWZmaWNmaW5lLmNvbTEiMCAGA1UEAxMZ\ndGxzY2EucHNwLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2MDBaFw0yOTA1\nMDkxMTE2MDBaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw\nFAYDVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNwc3AudHJhZmZpY2ZpbmUu\nY29tMSIwIAYDVQQDExl0bHNjYS5wc3AudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZI\nzj0CAQYIKoZIzj0DAQcDQgAEqgBAvFLH28B1bU9v9rWSyyhT0oA2kbeIDVkweUHM\nwWrm3oIIgE7DvQILIPY7bcI13oQUN4mzuHCZfV73sLRSZqNtMGswDgYDVR0PAQH/\nBAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8E\nBTADAQH/MCkGA1UdDgQiBCBn1ZzxNv7+NunGcW5oxKsgm6Gl85pt1Rx/u/X5OOuH\n7jAKBggqhkjOPQQDAgNIADBFAiEAtub3Ed+xQhbaBigfIG3pZaf8VKWvFSIh2175\nupJfsbkCICalJIrBKnItZVpMEvwG4Oopuch+T3MxpVx+8wzMu9vy\n-----END CERTIFICATE-----\n"
}
},
"peer0.org5.example.com": {
"url": "grpcs://localhost:15051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org5.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICgDCCAiegAwIBAgIQcHgIQ/lJmulJVPJ7/Cl/EDAKBggqhkjOPQQDAjCBijEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xIzAhBgNVBAoTGmdvdmVybm1lbnQudHJhZmZpY2ZpbmUuY29tMSkw\nJwYDVQQDEyB0bHNjYS5nb3Zlcm5tZW50LnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1\nMTIxMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGKMQswCQYDVQQGEwJVUzETMBEGA1UE\nCBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEjMCEGA1UEChMa\nZ292ZXJubWVudC50cmFmZmljZmluZS5jb20xKTAnBgNVBAMTIHRsc2NhLmdvdmVy\nbm1lbnQudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\n+0WWqJrrr9D+Cz//HMzI9P/cisjC8kO2SSf2wc68z9gFlqou5mq/1O+uCSNHTD1s\nbD+BtvvwTvIBJND1o0pdgKNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG\nCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBO\navVbFXndWKmLzd4nN3qQ3KnSaYrllyXgPF98qUfOgTAKBggqhkjOPQQDAgNHADBE\nAiBh03jy37BAXbZfMevAEC4x7PJDDON9yOHTkxHf8pZJ3wIgM/rgG+upf0y2d1R+\nLAYbYO/zNSrNIHCnkqi4Qi34Qjc=\n-----END CERTIFICATE-----\n"
}
},
"peer1.org5.example.com": {
"url": "grpcs://localhost:16051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org5.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICgDCCAiegAwIBAgIQcHgIQ/lJmulJVPJ7/Cl/EDAKBggqhkjOPQQDAjCBijEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xIzAhBgNVBAoTGmdvdmVybm1lbnQudHJhZmZpY2ZpbmUuY29tMSkw\nJwYDVQQDEyB0bHNjYS5nb3Zlcm5tZW50LnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1\nMTIxMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGKMQswCQYDVQQGEwJVUzETMBEGA1UE\nCBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEjMCEGA1UEChMa\nZ292ZXJubWVudC50cmFmZmljZmluZS5jb20xKTAnBgNVBAMTIHRsc2NhLmdvdmVy\nbm1lbnQudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\n+0WWqJrrr9D+Cz//HMzI9P/cisjC8kO2SSf2wc68z9gFlqou5mq/1O+uCSNHTD1s\nbD+BtvvwTvIBJND1o0pdgKNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG\nCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBO\navVbFXndWKmLzd4nN3qQ3KnSaYrllyXgPF98qUfOgTAKBggqhkjOPQQDAgNHADBE\nAiBh03jy37BAXbZfMevAEC4x7PJDDON9yOHTkxHf8pZJ3wIgM/rgG+upf0y2d1R+\nLAYbYO/zNSrNIHCnkqi4Qi34Qjc=\n-----END CERTIFICATE-----\n"
}
},
"peer0.org6.example.com": {
"url": "grpcs://localhost:17051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org6.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICfTCCAiSgAwIBAgIRAMiXIUFS5FWbhkzb1KD/9ucwCgYIKoZIzj0EAwIwgYgx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgw\nJgYDVQQDEx90bHNjYS5pbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDUx\nMjExMTYwMFoXDTI5MDUwOTExMTYwMFowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI\nEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSIwIAYDVQQKExlp\nbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgwJgYDVQQDEx90bHNjYS5pbnN1cmFu\nY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3vJQ\nt/ol7QfD5CPYusvNF6Y6DcpJmPYuPv11y37csmz3FxU5b8ZHhQ6LydizToXx7Kre\nCxf9/WCH7Ax2dmHCwaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsG\nAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDb4Zpv\nHUl/+8gsqMfPQ7Nu4Pad0cyHlRfUvqTdZKemTTAKBggqhkjOPQQDAgNHADBEAiAI\nz7f0GXmiOKd3LTNt1D2xemmT+y1VLVJSiCgtcNY8cAIgF/vsel9gGuCGx+Ol0vrr\nrE8zA632kU1oS+rWP+LICZk=\n-----END CERTIFICATE-----\n"
}
},
"peer1.org6.example.com": {
"url": "grpcs://localhost:18051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org6.example.com"
},
"tlsCACerts": {
"pem": "-----BEGIN CERTIFICATE-----\nMIICfTCCAiSgAwIBAgIRAMiXIUFS5FWbhkzb1KD/9ucwCgYIKoZIzj0EAwIwgYgx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgw\nJgYDVQQDEx90bHNjYS5pbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDUx\nMjExMTYwMFoXDTI5MDUwOTExMTYwMFowgYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQI\nEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSIwIAYDVQQKExlp\nbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSgwJgYDVQQDEx90bHNjYS5pbnN1cmFu\nY2UudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3vJQ\nt/ol7QfD5CPYusvNF6Y6DcpJmPYuPv11y37csmz3FxU5b8ZHhQ6LydizToXx7Kre\nCxf9/WCH7Ax2dmHCwaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsG\nAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDb4Zpv\nHUl/+8gsqMfPQ7Nu4Pad0cyHlRfUvqTdZKemTTAKBggqhkjOPQQDAgNHADBEAiAI\nz7f0GXmiOKd3LTNt1D2xemmT+y1VLVJSiCgtcNY8cAIgF/vsel9gGuCGx+Ol0vrr\nrE8zA632kU1oS+rWP+LICZk=\n-----END CERTIFICATE-----\n"
}
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "https://localhost:7054",
"caName": "ca.org1.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIIChzCCAi2gAwIBAgIQOoF14tAweIbZyYIyDnRE3TAKBggqhkjOPQQDAjCBjTEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xJjAkBgNVBAoTHWdlbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29t\nMSkwJwYDVQQDEyBjYS5nZW5lcmFscHVibGljLnRyYWZmaWNmaW5lLmNvbTAeFw0x\nOTA1MTIxMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGNMQswCQYDVQQGEwJVUzETMBEG\nA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEmMCQGA1UE\nChMdZ2VuZXJhbHB1YmxpYy50cmFmZmljZmluZS5jb20xKTAnBgNVBAMTIGNhLmdl\nbmVyYWxwdWJsaWMudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAEa0YngwGM6y0ep8rUt/NTp4Y5UzxvEAW5xvhIIhuBZvMpgAInBu6OzNBX\nL2ZXcMDrYGqNEEnCei2RMz8eHKx0BaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCAe7BDJ62hOC19wjgYEsRTRmrrv4UXY8W06qg8SbEOjmTAKBggqhkjOPQQD\nAgNIADBFAiEA319TsaN9C2CpfLRF8PLO/QBBxscgyX/8mWSdAbBOKVsCIHR580EJ\nY4V7qwfCL5Kc3fbESxZwxREPeR1dZnrSpFgM\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org2.example.com": {
"url": "https://localhost:8054",
"caName": "ca.org2.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICczCCAhqgAwIBAgIRAOVqLvjfUAmiu2YoC8I/dwgwCgYIKoZIzj0EAwIwgYMx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSEwHwYDVQQKExhzbHBvbGljZS50cmFmZmljZmluZS5jb20xJDAi\nBgNVBAMTG2NhLnNscG9saWNlLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2\nMDBaFw0yOTA1MDkxMTE2MDBaMIGDMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs\naWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEhMB8GA1UEChMYc2xwb2xp\nY2UudHJhZmZpY2ZpbmUuY29tMSQwIgYDVQQDExtjYS5zbHBvbGljZS50cmFmZmlj\nZmluZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQDYzSqtOC6vZ2s+R5l\nSLjvfdRG4q8RxQ4OX8H76rhg28JiPz1P75UPYGPGWh0aJRRkcyq10LCcZWHRY2no\nqw4oo20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG\nAQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIImKaCGN2VB3oFeWBNK2\nIt6cUMbVBMWN1Txj4lQ+HDBwMAoGCCqGSM49BAMCA0cAMEQCIDjefm2Y2OXyMM4O\nBhFFlDCxtzPweCz+EGPonYC8hFSvAiBBV76DP36dAbabdBCSw1IR7r6EiMmFwlpz\nqs3xmr3H7A==\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org3.example.com": {
"url": "https://localhost:9054",
"caName": "ca.org3.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICXTCCAgSgAwIBAgIRAKk3BXIIk+ziwNe7yp1xzuUwCgYIKoZIzj0EAwIweTEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xHDAaBgNVBAoTE2lzcC50cmFmZmljZmluZS5jb20xHzAdBgNVBAMT\nFmNhLmlzcC50cmFmZmljZmluZS5jb20wHhcNMTkwNTEyMTExNjAwWhcNMjkwNTA5\nMTExNjAwWjB5MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG\nA1UEBxMNU2FuIEZyYW5jaXNjbzEcMBoGA1UEChMTaXNwLnRyYWZmaWNmaW5lLmNv\nbTEfMB0GA1UEAxMWY2EuaXNwLnRyYWZmaWNmaW5lLmNvbTBZMBMGByqGSM49AgEG\nCCqGSM49AwEHA0IABNYfwo4mH6GtzxbABGv+n8mKPa6v8O5UBH5sKdXZRX4dyJsm\nLHsI3CxHstH7yBuCkf1DqUTkBgVWdTap5T442QijbTBrMA4GA1UdDwEB/wQEAwIB\npjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB\n/zApBgNVHQ4EIgQgmdYX31zRWiWaovt1TmJajEW26Pq5PywYFOyCKRTJ3l4wCgYI\nKoZIzj0EAwIDRwAwRAIgEMVdYoV+WKQYCdMckF2517jYQlZ7jrl10HsBGq3NBmIC\nIBA4CgzLMt0U2RRast2rQvY3P02ZcVKt8Ud8ctEj0wy6\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org4.example.com": {
"url": "https://localhost:10054",
"caName": "ca.org4.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICXDCCAgOgAwIBAgIQJaUniBDzk/IuUvxmYAfaqDAKBggqhkjOPQQDAjB5MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEcMBoGA1UEChMTcHNwLnRyYWZmaWNmaW5lLmNvbTEfMB0GA1UEAxMW\nY2EucHNwLnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIxMTE2MDBaFw0yOTA1MDkx\nMTE2MDBaMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD\nVQQHEw1TYW4gRnJhbmNpc2NvMRwwGgYDVQQKExNwc3AudHJhZmZpY2ZpbmUuY29t\nMR8wHQYDVQQDExZjYS5wc3AudHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYI\nKoZIzj0DAQcDQgAE++gZc/Djq+rtJIQn2rhj5zPcWNm4ndve9yy4QXY0+sUDPnYT\n7gKoBsa/Xb+gueYRmPn2adQ9deIKIeEqjO9XrqNtMGswDgYDVR0PAQH/BAQDAgGm\nMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/\nMCkGA1UdDgQiBCAJH7niEoeaaUBYw6rIAQ1ofwkIwG4mScqDAo+lg7AszDAKBggq\nhkjOPQQDAgNHADBEAiALIx/ZDFt3ymuahlewATncZZ+7+cVM/18Olc4L/41ltgIg\nMWpsKGpvfM9cStYPPQz4qCrhFfV8tZv7OXVBj7qcUK4=\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org5.example.com": {
"url": "https://localhost:11054",
"caName": "ca.org5.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICejCCAiGgAwIBAgIQBuMz8sudpN5iT6fRNEgKNjAKBggqhkjOPQQDAjCBhzEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xIzAhBgNVBAoTGmdvdmVybm1lbnQudHJhZmZpY2ZpbmUuY29tMSYw\nJAYDVQQDEx1jYS5nb3Zlcm5tZW50LnRyYWZmaWNmaW5lLmNvbTAeFw0xOTA1MTIx\nMTE2MDBaFw0yOTA1MDkxMTE2MDBaMIGHMQswCQYDVQQGEwJVUzETMBEGA1UECBMK\nQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZyYW5jaXNjbzEjMCEGA1UEChMaZ292\nZXJubWVudC50cmFmZmljZmluZS5jb20xJjAkBgNVBAMTHWNhLmdvdmVybm1lbnQu\ndHJhZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEII7G/k1K\n9Zs6+EbaTxVhUDV9dFXh59fyI/VFubMwF9fFC9f0lhZh12L7LtMIYwdkqIhneP5Q\n7eX9bg9qv8+NvaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUF\nBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCB4blrrlcqW\n6vxzyhaF7cKvGKgfqYsohRhQs213vm2T/zAKBggqhkjOPQQDAgNHADBEAiBvZjZk\nIIySpneI1d2iVI08bZjkmo6a2jveAlJfKSRTqwIgFIofZ9plkvLcCJHrktj8q4ry\nmmVhbUvWk/DCWKeYrx4=\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
},
"ca.org6.example.com": {
"url": "https://localhost:12054",
"caName": "ca.org6.example.com",
"httpOptions": {
"verify": false
},
"tlsCACerts": { "cacert": "-----BEGIN CERTIFICATE-----\nMIICeDCCAh6gAwIBAgIRAOqkaWINVGLuSFu0dS+nu4EwCgYIKoZIzj0EAwIwgYUx\nCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4g\nRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMSUw\nIwYDVQQDExxjYS5pbnN1cmFuY2UudHJhZmZpY2ZpbmUuY29tMB4XDTE5MDUxMjEx\nMTYwMFoXDTI5MDUwOTExMTYwMFowgYUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD\nYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNpc2NvMSIwIAYDVQQKExlpbnN1\ncmFuY2UudHJhZmZpY2ZpbmUuY29tMSUwIwYDVQQDExxjYS5pbnN1cmFuY2UudHJh\nZmZpY2ZpbmUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsswvuxQfFKAm\n6uLB0SHmTDZ8XAlDUWt+K/OtzpU2nu/tlku+AlwuwY7VytoBEDOdaQZQCTJxoXFv\nd/r2lYZo7aNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQGCCsGAQUFBwMC\nBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCBhlhz8nbEUON18\n5O6y51ZjqY5RlKibq6BJUxng6ZFsujAKBggqhkjOPQQDAgNIADBFAiEA7iJE8HiY\nyHVxGqb0/zc03pgM86mWTpmOVvRtNt9PQVsCIDdHceszC3ziOnd1TiT9soO7zMJX\nnXV8IOemP+NXD2qn\n-----END CERTIFICATE-----\n" },
"registrar": {
"enrollId": "admin",
"enrollSecret": "adminpw"
}
}
}
}
for tlsCACerts of the peers of Org1 I put
crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
And for other org peers, I put respective tls path.
Can someone help me to solve this problem? I check everything but I was unable to find out any good reason for this problem. Thank you.
Open byfn-network.json and replace all instances of the text INSERT_ORG1_CA_CERT with the CA certificate for the peer nodes for Org1: - use the following command to get the certificate from the .pem file so that it can be embedded into the above connection profile.
Copy
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt > /tmp/composer/org1/ca-org1.txt
But i am totally confused which content i need to copy and where to paste
Basically, an organization needs a connection profile. This connection profile has details of all the peers connected in the network as shown below:
{
"name": "byfn-network",
"x-type": "hlfv1",
"version": "1.0.0",
"channels": {
"mychannel": {
"orderers": [
"orderer.example.com"
],
"peers": {
"peer0.org1.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org1.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer0.org2.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
},
"peer1.org2.example.com": {
"endorsingPeer": true,
"chaincodeQuery": true,
"eventSource": true
}
}
}
},
"organizations": {
"Org1": {
"mspid": "Org1MSP",
"peers": [
"peer0.org1.example.com",
"peer1.org1.example.com"
],
"certificateAuthorities": [
"ca.org1.example.com"
]
},
"Org2": {
"mspid": "Org2MSP",
"peers": [
"peer0.org2.example.com",
"peer1.org2.example.com"
],
"certificateAuthorities": [
"ca.org2.example.com"
]
}
},
"orderers": {
"orderer.example.com": {
"url": "grpcs://localhost:7050",
"grpcOptions": {
"ssl-target-name-override": "orderer.example.com"
},
"tlsCACerts": {
"pem": "INSERT_ORDERER_CA_CERT"
}
}
},
"peers": {
"peer0.org1.example.com": {
"url": "grpcs://localhost:7051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org1.example.com"
},
"tlsCACerts": {
"pem": "INSERT_ORG1_CA_CERT"
}
},
"peer1.org1.example.com": {
"url": "grpcs://localhost:8051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org1.example.com"
},
"tlsCACerts": {
"pem": "INSERT_ORG1_CA_CERT"
}
},
"peer0.org2.example.com": {
"url": "grpcs://localhost:9051",
"grpcOptions": {
"ssl-target-name-override": "peer0.org2.example.com"
},
"tlsCACerts": {
"pem": "INSERT_ORG2_CA_CERT"
}
},
"peer1.org2.example.com": {
"url": "grpcs://localhost:10051",
"grpcOptions": {
"ssl-target-name-override": "peer1.org2.example.com"
},
"tlsCACerts": {
"pem": "INSERT_ORG2_CA_CERT"
}
}
},
"certificateAuthorities": {
"ca.org1.example.com": {
"url": "https://localhost:7054",
"caName": "ca-org1",
"httpOptions": {
"verify": false
}
},
"ca.org2.example.com": {
"url": "https://localhost:8054",
"caName": "ca-org2",
"httpOptions": {
"verify": false
}
}
}
}
As you can see, this file has the connection endpoints for each of the peer of the network. If you want to enable the TLS in the network, you also need to provide the TLS-CA certificates here. This cert goes into "tlsCACerts" section of the json.
So considering your question, byfn-network.json should be your connection profile. And when you run the following command:
awk 'NF {sub(/\r/, ""); printf "%s\\n",$0;}' crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt > /tmp/composer/org1/ca-org1.txt
It will copy the tls-ca cert of peer0.org1 and paste it into a text file at /tmp/composer/org1/ca-org1.txt.
You'll need to copy the content of this text file and paste it into "tlsCACerts" section of the byfn-network.json file.
There's a quite comprehensive tutorial for the same. You can find the references here.