при развертывании композитора Hyperledger в матрицу для нескольких организаций, где мне нужно вставить сертификат CA для org1 и org2 - PullRequest
0 голосов
/ 13 октября 2018

Откройте byfn-network.json и замените все экземпляры текста INSERT_ORG1_CA_CERT сертификатом CA для одноранговых узлов для Org1: - используйте следующую команду, чтобы получить сертификат из файла .pem, чтобы его можно было встроить ввышеуказанный профиль подключения.

Копировать

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

Но я совершенно не понимаю, какой контент мне нужно скопировать и куда вставить

1 Ответ

0 голосов
/ 13 октября 2018

Обычно организации необходим профиль подключения.Этот профиль подключения содержит сведения обо всех одноранговых узлах, подключенных к сети, как показано ниже:

{
"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
        }
    }
}
}

Как видно, этот файл имеет конечные точки подключения для каждого из одноранговых узлов сети.Если вы хотите включить TLS в сети, вам также необходимо предоставить сертификаты TLS-CA здесь.Этот сертификат входит в раздел «tlsCACerts» в json.

Итак, учитывая ваш вопрос, byfn-network.json должен быть вашим профилем подключения.И когда вы запустите следующую команду:

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

Она скопирует сертификат tls-ca peer0.org1 и вставит его в текстовый файл по адресу /tmp/composer/org1/ca-org1.txt.

Вам необходимо скопировать содержимое этого текстового файла и вставить его в раздел «tlsCACerts» файла byfn-network.json.

Для этого есть достаточно всеобъемлющее руководство.Вы можете найти ссылки здесь .

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