Hyperledger Fabri c: не удается найти конфигурацию для root сертификата - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь построить сеть Hyperledger Fabri c для версии 1.4.6 . Я думал, что наконец получил большую часть этого. Я попытался из cli образа:

peer channel create -o orderer.diro.umontreal.ca:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/indepedent/orderer/msp/tlscacerts/tls-cert.pem

Но в журналах для заказчика всегда говорилось, что соединение TLS не удалось. Тогда я попытался изменить --cafile на --certfile. В конце концов, рассматриваемый файл является сертификатом. И я получил это:

peer channel create -o orderer.diro.umontreal.ca:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --certfile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/indepedent/orderer/msp/tlscacerts/tls-cert.pem
Error: failed to create deliver client: failed to load config for OrdererClient: unable to load orderer.tls.rootcert.file: open : no such file or directory

Я понятия не имею, откуда эта настройка orderer.tls.rootcert.file. Я смотрел везде, где только мог придумать, что устанавливает для клиента TLS root сертификат, включая файл настроек fabric-ca-server-config.yaml, но я все равно получаю это сообщение, мне нужно установить его где-нибудь дополнительно. Я просто не знаю где. Он установлен в файле base/peer-base.yaml, и я позаботился о том, чтобы он теперь указывал на текущие значения.

У меня совершенно нет идей, где я могу установить значение, которое даже изменит это сообщение. Дело даже не в том, чтобы придать ему правильную ценность; это просто выяснение, где его установить.

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Правильный аргумент: --cafile (--certfile для сертификата вашего клиента при использовании аутентификации клиента). Но /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/indepedent/orderer/msp/tlscacerts/tls-cert.pem, кажется, не существует (согласно вашей второй ошибке). Проверьте этот путь внутри вашего клиента (например, ls). Может быть, сертификат CA не был включен, возможно, путь к файлу неверный (я не знаю, «независимый» вместо «независимый»?), Возможно, имя файла ...

После проверки и исправляя все, если по-прежнему не удается, проверьте журналы заказа.

0 голосов
/ 14 апреля 2020

Контейнеру не удалось найти сертификат TLS root. Проверьте путь внутри docker контейнера, соответствующего /var/hyperledger/orderer/tls. Я думаю, что эта папка пуста или, по крайней мере, не может найти ca.crt внутри нее.

Если вы используете разные пути монтирования, проверьте в файле docker-compose контейнер заказа, в котором вы монтируете следующую папку. внутри него.

crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/

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