мы можем установить один CA для нескольких организаций через фабрику? - PullRequest
0 голосов
/ 11 января 2019

У меня настроена множественная организация на разных машинах.

Machine 1
 -> peer0.org1.example.com
 -> ca.org1.example.com
 -> orderer.example.com 

Machine 2
-> peer0.org2.example.com
-> peer0.org3.example.com

Я создал канал, который используется всеми тремя организациями.

Теперь проблема в том, что когда я пытаюсь получить доступ к данным из Org 2 и Org 3, выдается сообщение об ошибке ниже

НЕИЗВЕСТНО: доступ запрещен: создатель канала [mychannel] org [Org2MSP]

С другой стороны, если я попытался выполнить тот же запрос через CLI, транзакция будет выполнена без ошибок

Мой вопрос: можем ли мы установить один ЦС для нескольких организаций. если да, как решить проблему отказа в доступе?

1 Ответ

0 голосов
/ 11 января 2019

Чтобы ответить на ваш основной вопрос: Возможно ли, чтобы 1 сервер содержал более 1 корневого идентификатора . Ответ - да Несколько CA . Это решение использует один 1 Fabric-CA-сервер для обслуживания более чем одной корневой идентификации. В матрице Hyperledger корневая идентификация используется в качестве организации корневого идентификатора 1.

Но стоит ли использовать такую ​​архитектуру? Чтобы ответить на этот вопрос, мы должны знать роль фабричного сервера и то, как идентификаторы обрабатываются в сети блокчейнов (специфично для Hyperledger.)

  1. Для проверки подлинности в сети блокчейна и между различными компонентами (одноранговыми узлами, заказчиками, клиентами). HLF (Hyperledger Fabric) использует абстрактную концепцию MSP (членский сервис-провайдер). В текущей реализации HLF для создания этой идентичности используется сертификат X509. Важно знать, что единственными требованиями являются сертификаты X509. Вам не нужен Fabric-CA-сервер. Для построения структуры MSP необходима определенная структура на диске сертификатов MSP для создания идентификатора. Все компоненты нуждаются (некоторая часть) в этой структуре.
  2. Fabric-ca-server используется для создания сертификата X509, необходимого для структуры MSP. Например, это используется, когда вы хотите зарегистрировать дополнительного партнера, заказчика, клиента и т. Д. Чтобы получить весь этот материал в целом, вы можете использовать fabric-ca-client или SDK. Клиент может экспортировать этот материал в правильной структуре папок, используемой по умолчанию MSP.

Так следует ли вам использовать 1 Fabric-CA-сервер для нескольких организаций? Мой ответ будет нет. Вы хотите, чтобы все организации были независимы друг от друга и что 1 ORG не может создать идентичность для другой ORG. Если вы используете 1 сервер для хранения нескольких удостоверений, это также означает, что материал с закрытым ключом хранится на 1 сервере, и, таким образом, вы можете создавать удостоверения для всех организаций.

Так что следующий вопрос Как разрешить отказ в доступе на самом деле другой вопрос. Скорее всего, это связано с неправильной настройкой переменных среды, которые HLF использует для указания на определенные части внутри структуры папок MSP. Таким образом, вам нужно посмотреть, какие переменные окружения используются внутри CLI и использовать то же самое внутри вашего другого контейнера (если вы хотите иметь одинаковую идентификацию)

TL; DR; Fabric-CA-сервер используется для создания сертификатов X509, которые могут быть использованы для создания MSP. MSP - это то, что является подлинной идентификацией внутри HLF, лучше всего использовать 1 root-ca для каждой организации.

...