Я использую Hyperledger Fabric с 4 пирами из 1 организации, 1 заказчиком и 1 CA. Все 4 одноранговых узла находятся на разных виртуальных машинах, orderer и CA работают на разных виртуальных машинах. Цепной код работает и работает на всех виртуальных машинах. Я хочу настроить клиент на другой виртуальной машине, которая может отправлять запросы транзакций в сеть. Используя этот код, я изменил адрес виртуальной машины на мой peer0.
Сначала я запускаю следующие 2 файлы :
node enrollAdmin.js
node registerUser.js
При выполнении последней команды я получаю следующую ошибку:
Store path:/root/gopath/src/github.com/hyperledger/fabric-samples/fabcar/hfc-key-store
Successfully loaded admin from persistence
Failed to register: Error: fabric-ca request register failed with errors [[{"code":20,"message":"Authentication failure"}]]
Я проверил логи контейнера CA на. Журнал контейнера выглядит следующим образом:
2019/04/16 17:34:55 [DEBUG] Received request for /api/v1/register
2019/04/16 17:34:55 [DEBUG] Caller is using a x509 certificate
2019/04/16 17:34:55 [DEBUG] Failed to verify token based on new authentication header requirements: %!s(<nil>)
2019/04/16 17:34:55 [INFO] 192.168.1.22:44826 POST /api/v1/register 401 26 "Untrusted certificate: Failed to verify certificate: x509:
certificate signed by unknown authority (possibly because of
"x509: ECDSA verification failure" while trying to verify candidate authority certificate "ca.org1.example.com")"
Я скопировал один и тот же сгенерированный криптографический материал на все виртуальные машины, включая клиент. Как устранить эту ошибку?
ОБНОВЛЕНИЕ: Когда я размещаю код клиента на одной из виртуальных машин, работающих с одноранговыми контейнерами, он работает нормально. Транзакции выполнены успешно.