Hyperledger Fabric: Как использовать флаг clientauth при создании однорангового канала? - PullRequest
0 голосов
/ 11 марта 2019

Насколько я понимаю, клиент понимает, что это то, что включено на сервере, так что он позволяет клиенту подключаться только после того, как клиент предоставил действительный сертификат TLS. Это правильно?

Если это так, то почему клиентский флаг - это флаг, который можно установить в качестве одного из аргументов команды равноправного канала create ?

--clientauth                          Use mutual TLS when communicating with the orderer endpoint

при создании канала, не является ли заказчик сервером? а машина на которой выполняется peer channel create является клиентом? тогда почему мы включаем clientauth на клиенте? что это делает, если что-нибудь?

Ответы [ 2 ]

1 голос
/ 12 марта 2019

описание флага (выше) захватывает это отлично.

TLS-связь может использовать как одностороннюю (только для сервера), так и двухстороннюю (для сервера и клиента) аутентификацию. Одноранговый узел является и сервером TLS, и клиентом TLS. Первый - когда другой одноранговый узел, приложение или CLI устанавливает соединение с ним, а второй - когда он устанавливает соединение с другим одноранговым узлом или заказчиком.

Флаг должен разрешить авторизацию клиента на одноранговом узле - по умолчанию он отключен (когда TLS включен на одноранговом узле). Это средство идентификации клиента для сервера (например, для Пира и Заказчика может быть включена аутентификация клиента при взаимной настройке TLS).

0 голосов
/ 13 марта 2019

Насколько я понимаю, клиент понимает, что это то, что включено на сервере, так что он позволяет клиенту подключаться только после того, как клиент предоставил действительный сертификат TLS.Это правильно?

Да.

Если так, то почему clientauth - это флаг, который можно установить в качестве одного из аргументов команды создания равноправного канала?

Поскольку без него клиент не предоставляет свой сертификат TLS серверу. То есть, если клиент пытается установить связь с сервером, на котором включен клиент, и peer channel createвыполняется без этого флага, в логах появляется сообщение об ошибке.Что-то вроде:

2019-03-12 23:33:59.975 UTC [core/comm] ServerHandshake -> ERRO 022 TLS handshake failed with error tls: client didn't provide a certificate {"server": "PeerServer", "remote address": ""}

при создании канала, не является ли заказчик сервером?

Да

имашина, на которой выполняется создание равноправного канала, является клиентом?

Да

так почему же мы включаем клиентский клиент на клиенте?что это делает, если что-нибудь?

ответил ранее

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