Чтобы ответить на ваш основной вопрос: Возможно ли, чтобы 1 сервер содержал более 1 корневого идентификатора . Ответ - да Несколько CA . Это решение использует один 1 Fabric-CA-сервер для обслуживания более чем одной корневой идентификации. В матрице Hyperledger корневая идентификация используется в качестве организации корневого идентификатора 1.
Но стоит ли использовать такую архитектуру? Чтобы ответить на этот вопрос, мы должны знать роль фабричного сервера и то, как идентификаторы обрабатываются в сети блокчейнов (специфично для Hyperledger.)
- Для проверки подлинности в сети блокчейна и между различными компонентами (одноранговыми узлами, заказчиками, клиентами). HLF (Hyperledger Fabric) использует абстрактную концепцию MSP (членский сервис-провайдер). В текущей реализации HLF для создания этой идентичности используется сертификат X509. Важно знать, что единственными требованиями являются сертификаты X509. Вам не нужен Fabric-CA-сервер. Для построения структуры MSP необходима определенная структура на диске сертификатов MSP для создания идентификатора. Все компоненты нуждаются (некоторая часть) в этой структуре.
- 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 для каждой организации.