Как добавить новую организацию без обновления конфигурации канала (update channel)? - PullRequest
0 голосов
/ 28 марта 2019

У нас уже настроена фабричная сеть.В консорциуме уже определены ORG1 и ORG2, определенные в configtx.yaml.Каждая организация имеет свои собственные корневые центры сертификации.И, кроме того, ORG2 имеет промежуточный ЦС.

configtx.yaml:

---
################################################################################
#
#   ORGANIZATIONS
#
#   This section defines the organizational identities that can be referenced
#   in the configuration profiles.
#
################################################################################
Organizations:
    - &OrdererOrg
        Name: OrdererOrg
        ID: ORDERER
        MSPDir: crypto-config/ordererOrganizations/ordererorg/msp
        Policies: &OrdererOrgPolicies
            Readers:
                Type: Signature
                Rule: "OR('ORDERER.member')"
            Writers:
                Type: Signature
                Rule: "OR('ORDERER.member')"
            Admins:
                Type: Signature
                Rule: "OR('ORDERER.admin')"

    - &ORG1
        Name: ORG1
        ID: ORG1
        MSPDir: crypto-config/peerOrganizations/ORG1.com/msp
        Policies: &Org1Policies
            Readers:
                Type: Signature
                Rule: "OR('ORG1.member')"
            Writers:
                Type: Signature
                Rule: "OR('ORG1.member')"
            Admins:
                Type: Signature
                Rule: "OR('ORG1.admin')"
        AnchorPeers:
            - Host: peer0
              Port: 7051

    - &ORG2
        Name: ORG2
        ID: ORG2
        MSPDir: crypto-config/ORG2/ORG2.com/msp
        Policies: &Org2Policies
            Readers:
                Type: Signature
                Rule: "OR('ORG2.member')"
            Writers:
                Type: Signature
                Rule: "OR('ORG2.member')"
            Admins:
                Type: Signature
                Rule: "OR('ORG2.admin')"
        AnchorPeers:
            - Host: peer1
              Port: 7051

.
.
.
.
    SingleMSPSolo:
        <<: *ChannelDefaults
        Orderer:
            <<: *OrdererDefaults
            Addresses:
                - kiesnet-dev-orderer:7050
            Organizations:
                - *OrdererOrg
        Consortiums:
            DevConsortium:
                Organizations:
                    - *ORG1
                    - *ORG2

    SingleMSPChannel:
        Consortium: DevConsortium
        Application:
            <<: *ApplicationDefaults
            Organizations:
                - *ORG1
                - *ORG2

Корневой ЦС ORG2, и промежуточный ЦС будет иметь те же MSPID (то есть «ORG2») иконечные пользователи будут регистрироваться только с промежуточного сервера CA.

Вот проблема.в приведенном выше файле configtx.yaml «MSPDir: crypto-config / ORG / ORG2.com / msp» - это путь к каталогу msp ROOT CA, а не промежуточный.

Однако конечные пользователи регистрируются только изпромежуточный сервер, и когда эти пользователи пытаются запрашивать / вызывать одноранговый узел ORG1, мы получаем эту ошибку:

Error: error endorsing query: rpc error: code = Unknown desc = access denied: channel [ORG1] creator org [ORG2] - proposal response: <nil>

Если мы тестируем с сертификатом конечного пользователя, который был зарегистрирован из корневого CA ORG2, пользовательможет просто запросить / вызвать одноранговый узел ORG1.

Как мы говорим сети (каналу) доверять пользователям, зарегистрированным в промежуточном ЦС, без обновления канала равноправного узла или изменения файла конфигурации канала?

бизнес-причина этого заключается в том, что из ORG2 в будущем может быть добавлено много промежуточных серверов ЦС, поэтому мы не хотим обновлять конфигурацию канала каждый раз, когда у нас появляются новые промежуточные ЦС.Поэтому, зарегистрировав ROOT CA в ORG2 (когда мы настраиваем сеть в первый раз), мы хотим доверять всем пользователям, зарегистрированным в промежуточных CA.

Я думаю, что должен быть способ сообщитьсеть, чтобы доверять всем пользователям, зарегистрированным из любых промежуточных CA, если промежуточный CA из корневого CA ORG2.

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