#hyperledger-fabric #hyperledger #blockchain
#hyperledger-fabric #hyperledger #блокчейн
Вопрос:
Как мы можем реализовать TLS в первой сети? я попытался, добавив приведенный ниже раздел в peers.Зачем настраивать одноранговые узлы с помощью Tls?
CORE_PEER_TLS_ENABLED=true
CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
Я работаю над настройкой сети нескольких организаций с использованием первой сети образцов структуры. одна из организаций, по словам org1, создала канал, передав tls-сертификаты заказчика, другая организация org2 должна получить канал, созданный org1, и присоединиться к одноранговым узлам в канале.когда я выполняю действие выборки с использованием выборки по одноранговому каналу, передавая tls-сертификаты заказчика, я получаю ошибку типа
peer channel fetch config-o orderer.example.com:7050 -c channelone1 -f --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
connection error: desc = "transport: Error while dialing dial tcp 98.124.199.121:7050: connect: connection refused". Reconnecting...
и в журналах упорядочения я получил ошибку как :
TLS handshake failed with error tls: client didn't provide a certificate {"server": "Orderer", "remote address": "172.24.0.4:49608"}
Создал канал, используя:
peer channel create -o orderer.example.com:7050 -c channelone1 -f ./channel-artifacts/channel-one.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
Вывод: принятый блок равен 0
Ответ №1:
По умолчанию первая сеть запускается с включенным TLS.
Четыре переменные среды, на которые вы ссылаетесь, включены в файл, base/peer-base.yaml
файл одноранговой базы «включен» с помощью extends:
и file: base/docker-compose-base.yaml
Комментарии:
1. @R Тэтчер .. Спасибо за ваш ответ. Я столкнулся с проблемой при попытке получить созданный канал. Я обнаружил ошибку в журналах docker для orderer, похожую на «Сбой TLS handshake с ошибкой remote error: tls: bad certifica te {«сервер»: «Заказчик», «удаленный адрес»: «192.168.0.77:34362″}». @Р. Тэтчер
2. Эта ошибка в журнале выполнения заказа говорит о том, что используемая вами команда (или функция) использует неправильный файл cafile — я предполагаю, что вы привязываетесь к использованию файла ca партнера при подключении к заказчику.
3. Я указал путь к файлу ca для заказчика. Тем не менее, я сталкиваюсь с той же проблемой. Есть ли какая-либо альтернатива для этого?
4. Пожалуйста, обновите свой вопрос точной командой / кодом / задачей, которую вы пытаетесь выполнить, в том числе, запускаетесь ли вы из другого контейнера (peer / cli?) и включите в вопрос ошибки терминала и исполнителя заказа.