From 762f3c5a7afe79a4f45e035a5f50016e0d87993e Mon Sep 17 00:00:00 2001 From: Angelo De Caro Date: Thu, 4 Jul 2019 11:50:33 +0200 Subject: [PATCH] [FAB-12620] Orderer OU This change-set adds support for orderer ou following the same design principals used for the other ous. The support is available starting from MSP version 1.4.3 Change-Id: Id2ddd699d11b5be3744b3671802772d93605fdcf Signed-off-by: Angelo De Caro --- common/tools/cryptogen/main.go | 9 +- common/tools/cryptogen/msp/generator.go | 23 ++- msp/configbuilder.go | 9 ++ msp/mspimpl.go | 21 ++- msp/mspimplsetup.go | 14 ++ msp/mspimplvalidate.go | 21 +-- msp/nodeous_test.go | 56 +++++++ msp/testdata/nodeouadmin/config.yaml | 3 + msp/testdata/nodeouadmin2/config.yaml | 3 + msp/testdata/nodeouadmin3/config.yaml | 5 +- .../admincerts/Admin@example.com-cert.pem | 14 ++ .../cacerts/ca.example.com-cert.pem | 15 ++ msp/testdata/nodeouorderer/config.yaml | 14 ++ msp/testdata/nodeouorderer/keystore/priv_sk | 5 + .../signcerts/orderer.example.com-cert.pem | 14 ++ .../tlscacerts/tlsca.example.com-cert.pem | 15 ++ .../nodeouorderer2/adm/testadmincert.pem | 14 ++ .../cacerts/ca.org1.example.com-cert.pem | 15 ++ msp/testdata/nodeouorderer2/config.yaml | 14 ++ ...a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk | 5 + .../signcerts/peer0.org1.example.com-cert.pem | 14 ++ .../tlsca.org1.example.com-cert.pem | 15 ++ .../nodeouorderer3/adm/testadmincert.pem | 14 ++ .../cacerts/ca.org1.example.com-cert.pem | 15 ++ msp/testdata/nodeouorderer3/config.yaml | 11 ++ ...a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk | 5 + .../signcerts/peer0.org1.example.com-cert.pem | 14 ++ .../tlsca.org1.example.com-cert.pem | 15 ++ protos/msp/msp_config.pb.go | 142 ++++++++++-------- protos/msp/msp_config.proto | 3 + protos/msp/msp_principal.pb.go | 111 +++++++------- protos/msp/msp_principal.proto | 1 + 32 files changed, 503 insertions(+), 146 deletions(-) create mode 100644 msp/testdata/nodeouorderer/admincerts/Admin@example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer/cacerts/ca.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer/config.yaml create mode 100644 msp/testdata/nodeouorderer/keystore/priv_sk create mode 100644 msp/testdata/nodeouorderer/signcerts/orderer.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer/tlscacerts/tlsca.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer2/adm/testadmincert.pem create mode 100644 msp/testdata/nodeouorderer2/cacerts/ca.org1.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer2/config.yaml create mode 100644 msp/testdata/nodeouorderer2/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk create mode 100644 msp/testdata/nodeouorderer2/signcerts/peer0.org1.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer2/tlscacerts/tlsca.org1.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer3/adm/testadmincert.pem create mode 100644 msp/testdata/nodeouorderer3/cacerts/ca.org1.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer3/config.yaml create mode 100644 msp/testdata/nodeouorderer3/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk create mode 100644 msp/testdata/nodeouorderer3/signcerts/peer0.org1.example.com-cert.pem create mode 100644 msp/testdata/nodeouorderer3/tlscacerts/tlsca.org1.example.com-cert.pem diff --git a/common/tools/cryptogen/main.go b/common/tools/cryptogen/main.go index f5549f3efe3..206127ddac6 100644 --- a/common/tools/cryptogen/main.go +++ b/common/tools/cryptogen/main.go @@ -89,6 +89,7 @@ OrdererOrgs: # --------------------------------------------------------------------------- - Name: Orderer Domain: example.com + EnableNodeOUs: false # --------------------------------------------------------------------------- # "Specs" - See PeerOrgs below for complete description @@ -353,7 +354,7 @@ func extendOrdererOrg(orgSpec OrgSpec) { signCA := getCA(caDir, orgSpec, orgSpec.CA.CommonName) tlsCA := getCA(tlscaDir, orgSpec, "tls"+orgSpec.CA.CommonName) - generateNodes(orderersDir, orgSpec.Specs, signCA, tlsCA, msp.ORDERER, false) + generateNodes(orderersDir, orgSpec.Specs, signCA, tlsCA, msp.ORDERER, orgSpec.EnableNodeOUs) adminUser := NodeSpec{ CommonName: fmt.Sprintf("%s@%s", adminBaseName, orgName), @@ -635,13 +636,13 @@ func generateOrdererOrg(baseDir string, orgSpec OrgSpec) { os.Exit(1) } - err = msp.GenerateVerifyingMSP(mspDir, signCA, tlsCA, false) + err = msp.GenerateVerifyingMSP(mspDir, signCA, tlsCA, orgSpec.EnableNodeOUs) if err != nil { fmt.Printf("Error generating MSP for org %s:\n%v\n", orgName, err) os.Exit(1) } - generateNodes(orderersDir, orgSpec.Specs, signCA, tlsCA, msp.ORDERER, false) + generateNodes(orderersDir, orgSpec.Specs, signCA, tlsCA, msp.ORDERER, orgSpec.EnableNodeOUs) adminUser := NodeSpec{ CommonName: fmt.Sprintf("%s@%s", adminBaseName, orgName), @@ -651,7 +652,7 @@ func generateOrdererOrg(baseDir string, orgSpec OrgSpec) { users := []NodeSpec{} // add an admin user users = append(users, adminUser) - generateNodes(usersDir, users, signCA, tlsCA, msp.CLIENT, false) + generateNodes(usersDir, users, signCA, tlsCA, msp.CLIENT, orgSpec.EnableNodeOUs) // copy the admin cert to the org's MSP admincerts err = copyAdminCert(usersDir, adminCertsDir, adminUser.CommonName) diff --git a/common/tools/cryptogen/msp/generator.go b/common/tools/cryptogen/msp/generator.go index 2673f133f1c..699df12dc5c 100644 --- a/common/tools/cryptogen/msp/generator.go +++ b/common/tools/cryptogen/msp/generator.go @@ -28,15 +28,17 @@ const ( ) const ( - CLIENTOU = "client" - PEEROU = "peer" - ADMINOU = "admin" + CLIENTOU = "client" + PEEROU = "peer" + ADMINOU = "admin" + ORDEREROU = "orderer" ) var nodeOUMap = map[int]string{ - CLIENT: CLIENTOU, - PEER: PEEROU, - ADMIN: ADMINOU, + CLIENT: CLIENTOU, + PEER: PEEROU, + ADMIN: ADMINOU, + ORDERER: ORDEREROU, } func GenerateLocalMSP(baseDir, name string, sans []string, signCA *ca.CA, @@ -98,8 +100,9 @@ func GenerateLocalMSP(baseDir, name string, sans []string, signCA *ca.CA, } // generate config.yaml if required - if nodeOUs && nodeType == PEER { - exportConfig(mspDir, "cacerts/"+x509Filename(signCA.Name), true) + if nodeOUs && (nodeType == PEER || nodeType == ORDERER) { + + exportConfig(mspDir, filepath.Join("cacerts", x509Filename(signCA.Name)), true) } // the signing identity goes into admincerts. @@ -267,6 +270,10 @@ func exportConfig(mspDir, caFile string, enable bool) error { Certificate: caFile, OrganizationalUnitIdentifier: ADMINOU, }, + OrdererOUIdentifier: &fabricmsp.OrganizationalUnitIdentifiersConfiguration{ + Certificate: caFile, + OrganizationalUnitIdentifier: ORDEREROU, + }, }, } diff --git a/msp/configbuilder.go b/msp/configbuilder.go index 647f672563e..78b2af73c3d 100644 --- a/msp/configbuilder.go +++ b/msp/configbuilder.go @@ -43,6 +43,8 @@ type NodeOUs struct { PeerOUIdentifier *OrganizationalUnitIdentifiersConfiguration `yaml:"PeerOUIdentifier,omitempty"` // AdminOUIdentifier specifies how to recognize admins by OU AdminOUIdentifier *OrganizationalUnitIdentifiersConfiguration `yaml:"AdminOUIdentifier,omitempty"` + // OrdererOUIdentifier specifies how to recognize admins by OU + OrdererOUIdentifier *OrganizationalUnitIdentifiersConfiguration `yaml:"OrdererOUIdentifier,omitempty"` } // Configuration represents the accessory configuration an MSP can be equipped with. @@ -309,6 +311,9 @@ func getMspConfig(dir string, ID string, sigid *msp.SigningIdentityInfo) (*msp.M if configuration.NodeOUs.AdminOUIdentifier != nil && len(configuration.NodeOUs.AdminOUIdentifier.OrganizationalUnitIdentifier) != 0 { nodeOUs.AdminOuIdentifier = &msp.FabricOUIdentifier{OrganizationalUnitIdentifier: configuration.NodeOUs.AdminOUIdentifier.OrganizationalUnitIdentifier} } + if configuration.NodeOUs.OrdererOUIdentifier != nil && len(configuration.NodeOUs.OrdererOUIdentifier.OrganizationalUnitIdentifier) != 0 { + nodeOUs.OrdererOuIdentifier = &msp.FabricOUIdentifier{OrganizationalUnitIdentifier: configuration.NodeOUs.OrdererOUIdentifier.OrganizationalUnitIdentifier} + } // Read certificates, if defined @@ -320,6 +325,10 @@ func getMspConfig(dir string, ID string, sigid *msp.SigningIdentityInfo) (*msp.M if nodeOUs.AdminOuIdentifier != nil { nodeOUs.AdminOuIdentifier.Certificate = loadCertificateAt(dir, configuration.NodeOUs.AdminOUIdentifier.Certificate, "AdminOU") } + // OrdererOU + if nodeOUs.OrdererOuIdentifier != nil { + nodeOUs.OrdererOuIdentifier.Certificate = loadCertificateAt(dir, configuration.NodeOUs.OrdererOUIdentifier.Certificate, "OrdererOU") + } } } else { mspLogger.Debugf("MSP configuration file not found at [%s]: [%s]", configFile, err) diff --git a/msp/mspimpl.go b/msp/mspimpl.go index 70e8274fcd1..ab20f6cae18 100644 --- a/msp/mspimpl.go +++ b/msp/mspimpl.go @@ -97,9 +97,9 @@ type bccspmsp struct { // NodeOUs configuration ouEnforcement bool - // These are the OUIdentifiers of the clients, peers and orderers. + // These are the OUIdentifiers of the clients, peers, admins and orderers. // They are used to tell apart these entities - clientOU, peerOU, adminOU *OUIdentifier + clientOU, peerOU, adminOU, ordererOU *OUIdentifier } // newBccspMsp returns an MSP instance backed up by a BCCSP @@ -334,8 +334,13 @@ func (msp *bccspmsp) hasOURoleInternal(id *identity, mspRole m.MSPRole_MSPRoleTy nodeOUValue = msp.peerOU.OrganizationalUnitIdentifier case m.MSPRole_ADMIN: nodeOUValue = msp.adminOU.OrganizationalUnitIdentifier + case m.MSPRole_ORDERER: + if msp.ordererOU == nil { + return errors.New("cannot test for orderer ou classification, node ou for orderers not defined") + } + nodeOUValue = msp.ordererOU.OrganizationalUnitIdentifier default: - return errors.New("Invalid MSPRoleType. It must be CLIENT, PEER or ADMIN") + return errors.New("Invalid MSPRoleType. It must be CLIENT, PEER, ADMIN or ORDERER") } for _, OU := range id.GetOrganizationalUnits() { @@ -621,6 +626,16 @@ func (msp *bccspmsp) satisfiesPrincipalInternalV143(id Identity, principal *m.MS return errors.Wrapf(err, "The identity is not an admin under this MSP [%s]", msp.name) } + return nil + case m.MSPRole_ORDERER: + mspLogger.Debugf("Checking if identity satisfies role [%s] for %s", m.MSPRole_MSPRoleType_name[int32(mspRole.Role)], msp.name) + if err := msp.Validate(id); err != nil { + return errors.Wrapf(err, "The identity is not valid under this MSP [%s]", msp.name) + } + + if err := msp.hasOURole(id, mspRole.Role); err != nil { + return errors.Wrapf(err, "The identity is not a [%s] under this MSP [%s]", m.MSPRole_MSPRoleType_name[int32(mspRole.Role)], msp.name) + } return nil } } diff --git a/msp/mspimplsetup.go b/msp/mspimplsetup.go index 66704135e4c..02bd0e09503 100644 --- a/msp/mspimplsetup.go +++ b/msp/mspimplsetup.go @@ -302,6 +302,20 @@ func (msp *bccspmsp) setupNodeOUsV143(config *m.FabricMSPConfig) error { msp.adminOU.CertifiersIdentifier = certifiersIdentifier } + // OrdererOU + if config.FabricNodeOus.OrdererOuIdentifier != nil { + msp.ordererOU = &OUIdentifier{OrganizationalUnitIdentifier: config.FabricNodeOus.OrdererOuIdentifier.OrganizationalUnitIdentifier} + if len(config.FabricNodeOus.OrdererOuIdentifier.Certificate) != 0 { + certifiersIdentifier, err := msp.getCertifiersIdentifier(config.FabricNodeOus.OrdererOuIdentifier.Certificate) + if err != nil { + return err + } + msp.ordererOU.CertifiersIdentifier = certifiersIdentifier + } + } else { + msp.ordererOU = nil + } + return nil } diff --git a/msp/mspimplvalidate.go b/msp/mspimplvalidate.go index 8ad6e8d191c..bbe04e80e9c 100644 --- a/msp/mspimplvalidate.go +++ b/msp/mspimplvalidate.go @@ -219,17 +219,18 @@ func (msp *bccspmsp) validateIdentityOUsV143(id *identity) error { // Make sure that the identity has only one of the special OUs // used to tell apart clients, peers and admins. counter := 0 + validOUs := make(map[string]*OUIdentifier) + validOUs[msp.clientOU.OrganizationalUnitIdentifier] = msp.clientOU + validOUs[msp.peerOU.OrganizationalUnitIdentifier] = msp.peerOU + validOUs[msp.adminOU.OrganizationalUnitIdentifier] = msp.adminOU + if msp.ordererOU != nil { + validOUs[msp.ordererOU.OrganizationalUnitIdentifier] = msp.ordererOU + } + for _, OU := range id.GetOrganizationalUnits() { // Is OU.OrganizationalUnitIdentifier one of the special OUs? - var nodeOU *OUIdentifier - switch OU.OrganizationalUnitIdentifier { - case msp.clientOU.OrganizationalUnitIdentifier: - nodeOU = msp.clientOU - case msp.peerOU.OrganizationalUnitIdentifier: - nodeOU = msp.peerOU - case msp.adminOU.OrganizationalUnitIdentifier: - nodeOU = msp.adminOU - default: + nodeOU := validOUs[OU.OrganizationalUnitIdentifier] + if nodeOU == nil { continue } @@ -244,7 +245,7 @@ func (msp *bccspmsp) validateIdentityOUsV143(id *identity) error { } } if counter != 1 { - return errors.Errorf("the identity must be a client, a peer or an admin identity to be valid, not a combination of them. OUs: [%v], MSP: [%s]", id.GetOrganizationalUnits(), msp.name) + return errors.Errorf("the identity must be a client, a peer, an orderer or an admin identity to be valid, not a combination of them. OUs: [%v], MSP: [%s]", id.GetOrganizationalUnits(), msp.name) } return nil diff --git a/msp/nodeous_test.go b/msp/nodeous_test.go index 322e1affb2f..e9408c25e62 100644 --- a/msp/nodeous_test.go +++ b/msp/nodeous_test.go @@ -268,3 +268,59 @@ func TestLoad142MSPWithInvalidAdminConfiguration(t *testing.T) { // the configuration enables NodeOUs (with adminOU) but no valid identifier for the AdminOU getLocalMSPWithVersionErr(t, "testdata/nodeouadmin3", MSPv1_4_3, "invalid admin ou configuration, nil.") } + +func TestSatisfiesPrincipalOrderer(t *testing.T) { + // testdata/nodeouorderer: + // the configuration enables NodeOUs (with orderOU) + thisMSP := getLocalMSPWithVersion(t, "testdata/nodeouorderer", MSPv1_4_3) + assert.True(t, thisMSP.(*bccspmsp).ouEnforcement) + + id, err := thisMSP.(*bccspmsp).GetDefaultSigningIdentity() + assert.NoError(t, err) + + principalBytes, err := proto.Marshal(&msp.MSPRole{Role: msp.MSPRole_ORDERER, MspIdentifier: "SampleOrg"}) + assert.NoError(t, err) + principal := &msp.MSPPrincipal{ + PrincipalClassification: msp.MSPPrincipal_ROLE, + Principal: principalBytes} + err = id.SatisfiesPrincipal(principal) + assert.NoError(t, err) +} + +func TestLoad142MSPWithInvalidOrdererConfiguration(t *testing.T) { + // testdata/nodeouorderer2: + // the configuration enables NodeOUs (with orderOU) but no valid identifier for the OrdererOU + thisMSP := getLocalMSPWithVersion(t, "testdata/nodeouorderer2", MSPv1_4_3) + conf, err := GetLocalMspConfig("testdata/nodeouorderer2", nil, "SampleOrg") + assert.NoError(t, err) + + id, err := thisMSP.(*bccspmsp).GetDefaultSigningIdentity() + assert.NoError(t, err) + + principalBytes, err := proto.Marshal(&msp.MSPRole{Role: msp.MSPRole_ORDERER, MspIdentifier: "SampleOrg"}) + assert.NoError(t, err) + principal := &msp.MSPPrincipal{ + PrincipalClassification: msp.MSPPrincipal_ROLE, + Principal: principalBytes} + err = id.SatisfiesPrincipal(principal) + assert.Error(t, err) + assert.Equal(t, "The identity is not a [ORDERER] under this MSP [SampleOrg]: cannot test for orderer ou classification, node ou for orderers not defined", err.Error()) + + // testdata/nodeouorderer3: + // the configuration enables NodeOUs (with orderOU) but no valid identifier for the OrdererOU + thisMSP = getLocalMSPWithVersion(t, "testdata/nodeouorderer3", MSPv1_4_3) + + err = thisMSP.Setup(conf) + assert.NoError(t, err) + id, err = thisMSP.(*bccspmsp).GetDefaultSigningIdentity() + assert.NoError(t, err) + + principalBytes, err = proto.Marshal(&msp.MSPRole{Role: msp.MSPRole_ORDERER, MspIdentifier: "SampleOrg"}) + assert.NoError(t, err) + principal = &msp.MSPPrincipal{ + PrincipalClassification: msp.MSPPrincipal_ROLE, + Principal: principalBytes} + err = id.SatisfiesPrincipal(principal) + assert.Error(t, err) + assert.Equal(t, "The identity is not a [ORDERER] under this MSP [SampleOrg]: cannot test for orderer ou classification, node ou for orderers not defined", err.Error()) +} diff --git a/msp/testdata/nodeouadmin/config.yaml b/msp/testdata/nodeouadmin/config.yaml index 7d7043b2dfa..cf99f05e1f1 100644 --- a/msp/testdata/nodeouadmin/config.yaml +++ b/msp/testdata/nodeouadmin/config.yaml @@ -9,3 +9,6 @@ NodeOUs: AdminOUIdentifier: Certificate: cacerts/ca.org1.example.com-cert.pem OrganizationalUnitIdentifier: admin + OrdererOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: orderer diff --git a/msp/testdata/nodeouadmin2/config.yaml b/msp/testdata/nodeouadmin2/config.yaml index 7f8fb0ae83d..3907b0db42c 100644 --- a/msp/testdata/nodeouadmin2/config.yaml +++ b/msp/testdata/nodeouadmin2/config.yaml @@ -9,3 +9,6 @@ NodeOUs: AdminOUIdentifier: Certificate: cacerts/ca.org1.example.com-cert.pem OrganizationalUnitIdentifier: + OrdererOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: orderer diff --git a/msp/testdata/nodeouadmin3/config.yaml b/msp/testdata/nodeouadmin3/config.yaml index 4253ae0ee18..9e8d3548406 100644 --- a/msp/testdata/nodeouadmin3/config.yaml +++ b/msp/testdata/nodeouadmin3/config.yaml @@ -5,4 +5,7 @@ NodeOUs: OrganizationalUnitIdentifier: client PeerOUIdentifier: Certificate: cacerts/ca.org1.example.com-cert.pem - OrganizationalUnitIdentifier: peer \ No newline at end of file + OrganizationalUnitIdentifier: peer + OrdererOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: orderer diff --git a/msp/testdata/nodeouorderer/admincerts/Admin@example.com-cert.pem b/msp/testdata/nodeouorderer/admincerts/Admin@example.com-cert.pem new file mode 100644 index 00000000000..d4a90794c91 --- /dev/null +++ b/msp/testdata/nodeouorderer/admincerts/Admin@example.com-cert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICGzCCAcKgAwIBAgIRAN5DkOBs583C+swyjC7nHS0wCgYIKoZIzj0EAwIwaTEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG +cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt +cGxlLmNvbTAeFw0xOTA3MDQxNjI3MDBaFw0yOTA3MDExNjI3MDBaMGcxCzAJBgNV +BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp +c2NvMQ8wDQYDVQQLEwZjbGllbnQxGjAYBgNVBAMMEUFkbWluQGV4YW1wbGUuY29t +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3H+SsKIPqOTCn2YBHDYTkgsvYtr0 +6Kz3mEp4jfNmRt0Mz/Sjyg+E3AUjBah/Qj6WBqVYhmJeFsMoNvk8OhdHg6NNMEsw +DgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg3+GALQue +CGamN/C2yq8S+ET/YsjAltoJS2hjlwUXxZ8wCgYIKoZIzj0EAwIDRwAwRAIgXvE1 +Dsw0Vd2Tz+mxCfyf62lzQ8IN2BE4qsEQNgcsL94CIH26gcvFF7u0j+FVkjA4Awuq +10yaq8RzytoLpOz4SDkw +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer/cacerts/ca.example.com-cert.pem b/msp/testdata/nodeouorderer/cacerts/ca.example.com-cert.pem new file mode 100644 index 00000000000..932a013b439 --- /dev/null +++ b/msp/testdata/nodeouorderer/cacerts/ca.example.com-cert.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICPzCCAeSgAwIBAgIRAONi5v8ImyejqCrCatbAW1QwCgYIKoZIzj0EAwIwaTEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG +cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt +cGxlLmNvbTAeFw0xOTA3MDQxNjI3MDBaFw0yOTA3MDExNjI3MDBaMGkxCzAJBgNV +BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp +c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j +b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQAfjOlLCdB/6SsdPlbDHUsdK+b +gRuEN38QOFZ0Ws3aFAsER8ImqV3UIlsbKi5JnDs+OQnzrr3hrKA8downRRy/o20w +azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB +MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIN/hgC0LnghmpjfwtsqvEvhE/2LI +wJbaCUtoY5cFF8WfMAoGCCqGSM49BAMCA0kAMEYCIQDhhgAHx0l7V5uAG2hATgCs +bvsbHiJpHUtiK7f1Qfxf2AIhANeukSgRU+AeGSzyVmAOKhIUS+grsPyspksUwVvB +ehXv +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer/config.yaml b/msp/testdata/nodeouorderer/config.yaml new file mode 100644 index 00000000000..8846e9d4d92 --- /dev/null +++ b/msp/testdata/nodeouorderer/config.yaml @@ -0,0 +1,14 @@ +NodeOUs: + Enable: true + ClientOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: client + PeerOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: peer + AdminOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: admin + OrdererOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: orderer diff --git a/msp/testdata/nodeouorderer/keystore/priv_sk b/msp/testdata/nodeouorderer/keystore/priv_sk new file mode 100644 index 00000000000..c5ddc42760f --- /dev/null +++ b/msp/testdata/nodeouorderer/keystore/priv_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3XkpMssR+HPUfA+C +SvrEalkm9qz1RvDZzWpeJZJgzHuhRANCAATttnug4BR0dA3fL8XFWdcAz2KBYXNu +o1ZoZtYoXuTBQmIAp9gzE3n4WZlx1Q20auf3LyheORimUmRokuMkzDBd +-----END PRIVATE KEY----- diff --git a/msp/testdata/nodeouorderer/signcerts/orderer.example.com-cert.pem b/msp/testdata/nodeouorderer/signcerts/orderer.example.com-cert.pem new file mode 100644 index 00000000000..6655403f305 --- /dev/null +++ b/msp/testdata/nodeouorderer/signcerts/orderer.example.com-cert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICHjCCAcSgAwIBAgIQSEQ9WMdyikoUBDZC1SCNYjAKBggqhkjOPQQDAjBpMQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w +bGUuY29tMB4XDTE5MDcwNDE2MjcwMFoXDTI5MDcwMTE2MjcwMFowajELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz +Y28xEDAOBgNVBAsTB29yZGVyZXIxHDAaBgNVBAMTE29yZGVyZXIuZXhhbXBsZS5j +b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATttnug4BR0dA3fL8XFWdcAz2KB +YXNuo1ZoZtYoXuTBQmIAp9gzE3n4WZlx1Q20auf3LyheORimUmRokuMkzDBdo00w +SzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCDf4YAt +C54IZqY38LbKrxL4RP9iyMCW2glLaGOXBRfFnzAKBggqhkjOPQQDAgNIADBFAiEA +6moSx8Ny5hOtKgR5ixwMclqefiFDW5p1OQ1mOakYe3MCIGuqooZlekXL/xCVpuNZ +V4ODyvgvMEgQBg7lpg7RapWZ +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer/tlscacerts/tlsca.example.com-cert.pem b/msp/testdata/nodeouorderer/tlscacerts/tlsca.example.com-cert.pem new file mode 100644 index 00000000000..5a7c4e639e4 --- /dev/null +++ b/msp/testdata/nodeouorderer/tlscacerts/tlsca.example.com-cert.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICRTCCAeqgAwIBAgIRAJCUl0CdwlkfiNTXt/gxVlgwCgYIKoZIzj0EAwIwbDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG +cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l +eGFtcGxlLmNvbTAeFw0xOTA3MDQxNjI3MDBaFw0yOTA3MDExNjI3MDBaMGwxCzAJ +BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh +bmNpc2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEaMBgGA1UEAxMRdGxzY2EuZXhh +bXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASiqvojiDlos4TH6hOh +2Sg16UMVs4xG/s6M0MxICfAJSkwD3PRwKOinv8wD7OT7FxevPa6THKZONsXJwhWR +Lbero20wazAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG +AQUFBwMBMA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEIEcM31EymEUj64aNdHFZ +0OCICQC3vXXeGLXrrc28liw6MAoGCCqGSM49BAMCA0kAMEYCIQCgfmcPMxf8ojnD +UbfnxXFHHHqAQ03X+bISVaKVtpcqjwIhAOwrN+SL40ORnkRgKBzyL8SzyiDXwqf0 +RqgngKsp/XOT +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer2/adm/testadmincert.pem b/msp/testdata/nodeouorderer2/adm/testadmincert.pem new file mode 100644 index 00000000000..f3ab64114f8 --- /dev/null +++ b/msp/testdata/nodeouorderer2/adm/testadmincert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICKjCCAdCgAwIBAgIRAK3R+DI3j3UrGNe1+I8cq6AwCgYIKoZIzj0EAwIwczEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG +cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh +Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwNTEzMTMwMzAwWhcNMjkwNTEwMTMwMzAw +WjBrMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN +U2FuIEZyYW5jaXNjbzEOMAwGA1UECxMFYWRtaW4xHzAdBgNVBAMMFkFkbWluQG9y +ZzEuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATNuEOM0t2s +kRTiZNr5Y8ToIOgvcHUF63fGoKMck0FmVIzBCqAab6w1g7i2A2DbACgK9wh1QrvO +f2fJB6d3Av7go00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV +HSMEJDAigCDxbidzTYaQMil8woLcR6896vq1x3I7Tpd/mbWojDJQRzAKBggqhkjO +PQQDAgNIADBFAiEAvk/HDBTJ6sqzb2ak2wy+E5HIueKQ7mU7ilrtx2pzDawCIBwc +QRr47yEdqQIR6oQdcQteAbHD+LQdlLmFKEUiSI/w +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer2/cacerts/ca.org1.example.com-cert.pem b/msp/testdata/nodeouorderer2/cacerts/ca.org1.example.com-cert.pem new file mode 100644 index 00000000000..c878369354a --- /dev/null +++ b/msp/testdata/nodeouorderer2/cacerts/ca.org1.example.com-cert.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICUDCCAfegAwIBAgIQD58qmbX95h+cZmVKanXIdzAKBggqhkjOPQQDAjBzMQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu +b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA1MTMxMzAzMDBaFw0yOTA1MTAxMzAzMDBa +MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T +YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD +ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE +b6UKlBZKYEVfXz19UYMPh6xOQrVRGSnpys7TRw3lepm/lTwo9n3k1ftSMPDEKTxA +V2cPuLLy1vvrEkU/+p3biqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG +CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDx +bidzTYaQMil8woLcR6896vq1x3I7Tpd/mbWojDJQRzAKBggqhkjOPQQDAgNHADBE +AiAOqBxfeIk0rhlIO/5lZYJL3oWFgaQuoXLdODyGywxhQgIgOimmW4XqbDksLjEQ +tgPjJBB7hpnSoA9x21luHAFHpM4= +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer2/config.yaml b/msp/testdata/nodeouorderer2/config.yaml new file mode 100644 index 00000000000..1d89cad808a --- /dev/null +++ b/msp/testdata/nodeouorderer2/config.yaml @@ -0,0 +1,14 @@ +NodeOUs: + Enable: true + ClientOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: client + PeerOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: peer + AdminOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: admin + OrdererOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: diff --git a/msp/testdata/nodeouorderer2/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk b/msp/testdata/nodeouorderer2/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk new file mode 100644 index 00000000000..059ddabe3df --- /dev/null +++ b/msp/testdata/nodeouorderer2/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgF0iIR1LJZ7htqeno +Ai1JSmB/97eTySp4iDZiCm/6lm6hRANCAASykymJppBtlsjbSwtYMTIdDqkDwjsU +UunzCAX4WQg/iuryVUb6Wf46Iw7/HUkEPSI4DDpctGIP/RSIloBV3hw8 +-----END PRIVATE KEY----- diff --git a/msp/testdata/nodeouorderer2/signcerts/peer0.org1.example.com-cert.pem b/msp/testdata/nodeouorderer2/signcerts/peer0.org1.example.com-cert.pem new file mode 100644 index 00000000000..72ae6c6bc79 --- /dev/null +++ b/msp/testdata/nodeouorderer2/signcerts/peer0.org1.example.com-cert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICJzCCAc6gAwIBAgIQLBlHBuNzz9mV0wmS/x1DDjAKBggqhkjOPQQDAjBzMQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu +b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA1MTMxMzAzMDBaFw0yOTA1MTAxMzAzMDBa +MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T +YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcx +LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEspMpiaaQbZbI +20sLWDEyHQ6pA8I7FFLp8wgF+FkIP4rq8lVG+ln+OiMO/x1JBD0iOAw6XLRiD/0U +iJaAVd4cPKNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j +BCQwIoAg8W4nc02GkDIpfMKC3EevPer6tcdyO06Xf5m1qIwyUEcwCgYIKoZIzj0E +AwIDRwAwRAIgL0HPubuHab0uyVoICJ3nwe3OcuMkjyN3KATK9Atv+DwCIA3rIPTa +Tvg6W/EwLAMwNU/EHNnfA8UNhOjSH7bZKQX/ +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer2/tlscacerts/tlsca.org1.example.com-cert.pem b/msp/testdata/nodeouorderer2/tlscacerts/tlsca.org1.example.com-cert.pem new file mode 100644 index 00000000000..1d739a955d8 --- /dev/null +++ b/msp/testdata/nodeouorderer2/tlscacerts/tlsca.org1.example.com-cert.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICVzCCAf2gAwIBAgIQeWUkoyEEEAVDIPlZVfFjqzAKBggqhkjOPQQDAjB2MQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz +Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTA1MTMxMzAzMDBaFw0yOTA1MTAxMzAz +MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH +Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD +VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D +AQcDQgAEjtYcp1NtHpTBbXYBKfU0qFApTBKl/pzVbbDS72n07ZArfwrT3dQbbGh8 ++X/BSYk+J58qhI1tzY4M90UwCX7TyqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud +JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud +DgQiBCCAhY5qygBuxLN0lbuwWJMxaixuhHuVz3ZAUefIsSabSjAKBggqhkjOPQQD +AgNIADBFAiEA4VUIrtNx7rGq9eaMi7ovBXKCi1ArBgm7aeKq+sTJaFQCIBgSrkPh +N4l06Xo00nWonlarD5Sj8tTZS+UdaptcrfsB +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer3/adm/testadmincert.pem b/msp/testdata/nodeouorderer3/adm/testadmincert.pem new file mode 100644 index 00000000000..f3ab64114f8 --- /dev/null +++ b/msp/testdata/nodeouorderer3/adm/testadmincert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICKjCCAdCgAwIBAgIRAK3R+DI3j3UrGNe1+I8cq6AwCgYIKoZIzj0EAwIwczEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG +cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh +Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTkwNTEzMTMwMzAwWhcNMjkwNTEwMTMwMzAw +WjBrMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN +U2FuIEZyYW5jaXNjbzEOMAwGA1UECxMFYWRtaW4xHzAdBgNVBAMMFkFkbWluQG9y +ZzEuZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATNuEOM0t2s +kRTiZNr5Y8ToIOgvcHUF63fGoKMck0FmVIzBCqAab6w1g7i2A2DbACgK9wh1QrvO +f2fJB6d3Av7go00wSzAOBgNVHQ8BAf8EBAMCB4AwDAYDVR0TAQH/BAIwADArBgNV +HSMEJDAigCDxbidzTYaQMil8woLcR6896vq1x3I7Tpd/mbWojDJQRzAKBggqhkjO +PQQDAgNIADBFAiEAvk/HDBTJ6sqzb2ak2wy+E5HIueKQ7mU7ilrtx2pzDawCIBwc +QRr47yEdqQIR6oQdcQteAbHD+LQdlLmFKEUiSI/w +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer3/cacerts/ca.org1.example.com-cert.pem b/msp/testdata/nodeouorderer3/cacerts/ca.org1.example.com-cert.pem new file mode 100644 index 00000000000..c878369354a --- /dev/null +++ b/msp/testdata/nodeouorderer3/cacerts/ca.org1.example.com-cert.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICUDCCAfegAwIBAgIQD58qmbX95h+cZmVKanXIdzAKBggqhkjOPQQDAjBzMQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu +b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA1MTMxMzAzMDBaFw0yOTA1MTAxMzAzMDBa +MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T +YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMRwwGgYDVQQD +ExNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE +b6UKlBZKYEVfXz19UYMPh6xOQrVRGSnpys7TRw3lepm/lTwo9n3k1ftSMPDEKTxA +V2cPuLLy1vvrEkU/+p3biqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG +CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDx +bidzTYaQMil8woLcR6896vq1x3I7Tpd/mbWojDJQRzAKBggqhkjOPQQDAgNHADBE +AiAOqBxfeIk0rhlIO/5lZYJL3oWFgaQuoXLdODyGywxhQgIgOimmW4XqbDksLjEQ +tgPjJBB7hpnSoA9x21luHAFHpM4= +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer3/config.yaml b/msp/testdata/nodeouorderer3/config.yaml new file mode 100644 index 00000000000..667a286d0d5 --- /dev/null +++ b/msp/testdata/nodeouorderer3/config.yaml @@ -0,0 +1,11 @@ +NodeOUs: + Enable: true + ClientOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: client + PeerOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: peer + AdminOUIdentifier: + Certificate: cacerts/ca.example.com-cert.pem + OrganizationalUnitIdentifier: admin \ No newline at end of file diff --git a/msp/testdata/nodeouorderer3/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk b/msp/testdata/nodeouorderer3/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk new file mode 100644 index 00000000000..059ddabe3df --- /dev/null +++ b/msp/testdata/nodeouorderer3/keystore/f4379421b6b049dfaecb4d303a2ed12362e69d1c1e7066685c60af8d6e4fea46_sk @@ -0,0 +1,5 @@ +-----BEGIN PRIVATE KEY----- +MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgF0iIR1LJZ7htqeno +Ai1JSmB/97eTySp4iDZiCm/6lm6hRANCAASykymJppBtlsjbSwtYMTIdDqkDwjsU +UunzCAX4WQg/iuryVUb6Wf46Iw7/HUkEPSI4DDpctGIP/RSIloBV3hw8 +-----END PRIVATE KEY----- diff --git a/msp/testdata/nodeouorderer3/signcerts/peer0.org1.example.com-cert.pem b/msp/testdata/nodeouorderer3/signcerts/peer0.org1.example.com-cert.pem new file mode 100644 index 00000000000..72ae6c6bc79 --- /dev/null +++ b/msp/testdata/nodeouorderer3/signcerts/peer0.org1.example.com-cert.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICJzCCAc6gAwIBAgIQLBlHBuNzz9mV0wmS/x1DDjAKBggqhkjOPQQDAjBzMQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu +b3JnMS5leGFtcGxlLmNvbTAeFw0xOTA1MTMxMzAzMDBaFw0yOTA1MTAxMzAzMDBa +MGoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T +YW4gRnJhbmNpc2NvMQ0wCwYDVQQLEwRwZWVyMR8wHQYDVQQDExZwZWVyMC5vcmcx +LmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEspMpiaaQbZbI +20sLWDEyHQ6pA8I7FFLp8wgF+FkIP4rq8lVG+ln+OiMO/x1JBD0iOAw6XLRiD/0U +iJaAVd4cPKNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0j +BCQwIoAg8W4nc02GkDIpfMKC3EevPer6tcdyO06Xf5m1qIwyUEcwCgYIKoZIzj0E +AwIDRwAwRAIgL0HPubuHab0uyVoICJ3nwe3OcuMkjyN3KATK9Atv+DwCIA3rIPTa +Tvg6W/EwLAMwNU/EHNnfA8UNhOjSH7bZKQX/ +-----END CERTIFICATE----- diff --git a/msp/testdata/nodeouorderer3/tlscacerts/tlsca.org1.example.com-cert.pem b/msp/testdata/nodeouorderer3/tlscacerts/tlsca.org1.example.com-cert.pem new file mode 100644 index 00000000000..1d739a955d8 --- /dev/null +++ b/msp/testdata/nodeouorderer3/tlscacerts/tlsca.org1.example.com-cert.pem @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICVzCCAf2gAwIBAgIQeWUkoyEEEAVDIPlZVfFjqzAKBggqhkjOPQQDAjB2MQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy +YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz +Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0xOTA1MTMxMzAzMDBaFw0yOTA1MTAxMzAz +MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH +Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD +VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D +AQcDQgAEjtYcp1NtHpTBbXYBKfU0qFApTBKl/pzVbbDS72n07ZArfwrT3dQbbGh8 ++X/BSYk+J58qhI1tzY4M90UwCX7TyqNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud +JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud +DgQiBCCAhY5qygBuxLN0lbuwWJMxaixuhHuVz3ZAUefIsSabSjAKBggqhkjOPQQD +AgNIADBFAiEA4VUIrtNx7rGq9eaMi7ovBXKCi1ArBgm7aeKq+sTJaFQCIBgSrkPh +N4l06Xo00nWonlarD5Sj8tTZS+UdaptcrfsB +-----END CERTIFICATE----- diff --git a/protos/msp/msp_config.pb.go b/protos/msp/msp_config.pb.go index ed960923b0d..3ab0ce60be4 100644 --- a/protos/msp/msp_config.pb.go +++ b/protos/msp/msp_config.pb.go @@ -36,7 +36,7 @@ func (m *MSPConfig) Reset() { *m = MSPConfig{} } func (m *MSPConfig) String() string { return proto.CompactTextString(m) } func (*MSPConfig) ProtoMessage() {} func (*MSPConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{0} + return fileDescriptor_msp_config_c4b502fff5780348, []int{0} } func (m *MSPConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MSPConfig.Unmarshal(m, b) @@ -131,7 +131,7 @@ func (m *FabricMSPConfig) Reset() { *m = FabricMSPConfig{} } func (m *FabricMSPConfig) String() string { return proto.CompactTextString(m) } func (*FabricMSPConfig) ProtoMessage() {} func (*FabricMSPConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{1} + return fileDescriptor_msp_config_c4b502fff5780348, []int{1} } func (m *FabricMSPConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FabricMSPConfig.Unmarshal(m, b) @@ -249,7 +249,7 @@ func (m *FabricCryptoConfig) Reset() { *m = FabricCryptoConfig{} } func (m *FabricCryptoConfig) String() string { return proto.CompactTextString(m) } func (*FabricCryptoConfig) ProtoMessage() {} func (*FabricCryptoConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{2} + return fileDescriptor_msp_config_c4b502fff5780348, []int{2} } func (m *FabricCryptoConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FabricCryptoConfig.Unmarshal(m, b) @@ -305,7 +305,7 @@ func (m *IdemixMSPConfig) Reset() { *m = IdemixMSPConfig{} } func (m *IdemixMSPConfig) String() string { return proto.CompactTextString(m) } func (*IdemixMSPConfig) ProtoMessage() {} func (*IdemixMSPConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{3} + return fileDescriptor_msp_config_c4b502fff5780348, []int{3} } func (m *IdemixMSPConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IdemixMSPConfig.Unmarshal(m, b) @@ -383,7 +383,7 @@ func (m *IdemixMSPSignerConfig) Reset() { *m = IdemixMSPSignerConfig{} } func (m *IdemixMSPSignerConfig) String() string { return proto.CompactTextString(m) } func (*IdemixMSPSignerConfig) ProtoMessage() {} func (*IdemixMSPSignerConfig) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{4} + return fileDescriptor_msp_config_c4b502fff5780348, []int{4} } func (m *IdemixMSPSignerConfig) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_IdemixMSPSignerConfig.Unmarshal(m, b) @@ -465,7 +465,7 @@ func (m *SigningIdentityInfo) Reset() { *m = SigningIdentityInfo{} } func (m *SigningIdentityInfo) String() string { return proto.CompactTextString(m) } func (*SigningIdentityInfo) ProtoMessage() {} func (*SigningIdentityInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{5} + return fileDescriptor_msp_config_c4b502fff5780348, []int{5} } func (m *SigningIdentityInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SigningIdentityInfo.Unmarshal(m, b) @@ -520,7 +520,7 @@ func (m *KeyInfo) Reset() { *m = KeyInfo{} } func (m *KeyInfo) String() string { return proto.CompactTextString(m) } func (*KeyInfo) ProtoMessage() {} func (*KeyInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{6} + return fileDescriptor_msp_config_c4b502fff5780348, []int{6} } func (m *KeyInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyInfo.Unmarshal(m, b) @@ -577,7 +577,7 @@ func (m *FabricOUIdentifier) Reset() { *m = FabricOUIdentifier{} } func (m *FabricOUIdentifier) String() string { return proto.CompactTextString(m) } func (*FabricOUIdentifier) ProtoMessage() {} func (*FabricOUIdentifier) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{7} + return fileDescriptor_msp_config_c4b502fff5780348, []int{7} } func (m *FabricOUIdentifier) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FabricOUIdentifier.Unmarshal(m, b) @@ -622,7 +622,9 @@ type FabricNodeOUs struct { // OU Identifier of the peers PeerOuIdentifier *FabricOUIdentifier `protobuf:"bytes,3,opt,name=peer_ou_identifier,json=peerOuIdentifier,proto3" json:"peer_ou_identifier,omitempty"` // OU Identifier of the admins - AdminOuIdentifier *FabricOUIdentifier `protobuf:"bytes,4,opt,name=admin_ou_identifier,json=adminOuIdentifier,proto3" json:"admin_ou_identifier,omitempty"` + AdminOuIdentifier *FabricOUIdentifier `protobuf:"bytes,4,opt,name=admin_ou_identifier,json=adminOuIdentifier,proto3" json:"admin_ou_identifier,omitempty"` + // OU Identifier of the orderers + OrdererOuIdentifier *FabricOUIdentifier `protobuf:"bytes,5,opt,name=orderer_ou_identifier,json=ordererOuIdentifier,proto3" json:"orderer_ou_identifier,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -632,7 +634,7 @@ func (m *FabricNodeOUs) Reset() { *m = FabricNodeOUs{} } func (m *FabricNodeOUs) String() string { return proto.CompactTextString(m) } func (*FabricNodeOUs) ProtoMessage() {} func (*FabricNodeOUs) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_config_3085222132205351, []int{8} + return fileDescriptor_msp_config_c4b502fff5780348, []int{8} } func (m *FabricNodeOUs) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FabricNodeOUs.Unmarshal(m, b) @@ -680,6 +682,13 @@ func (m *FabricNodeOUs) GetAdminOuIdentifier() *FabricOUIdentifier { return nil } +func (m *FabricNodeOUs) GetOrdererOuIdentifier() *FabricOUIdentifier { + if m != nil { + return m.OrdererOuIdentifier + } + return nil +} + func init() { proto.RegisterType((*MSPConfig)(nil), "msp.MSPConfig") proto.RegisterType((*FabricMSPConfig)(nil), "msp.FabricMSPConfig") @@ -692,62 +701,63 @@ func init() { proto.RegisterType((*FabricNodeOUs)(nil), "msp.FabricNodeOUs") } -func init() { proto.RegisterFile("msp/msp_config.proto", fileDescriptor_msp_config_3085222132205351) } +func init() { proto.RegisterFile("msp/msp_config.proto", fileDescriptor_msp_config_c4b502fff5780348) } -var fileDescriptor_msp_config_3085222132205351 = []byte{ - // 862 bytes of a gzipped FileDescriptorProto +var fileDescriptor_msp_config_c4b502fff5780348 = []byte{ + // 878 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xcd, 0x6e, 0x23, 0x45, - 0x10, 0x96, 0x7f, 0x77, 0x5d, 0x1e, 0xdb, 0xd9, 0x4e, 0x36, 0x8c, 0x10, 0xbb, 0xeb, 0x0c, 0x20, - 0x7c, 0xc1, 0x91, 0xb2, 0x48, 0x48, 0x88, 0xd3, 0x06, 0x16, 0x06, 0x08, 0x89, 0x3a, 0xca, 0x85, - 0xcb, 0xa8, 0x3d, 0xd3, 0xb6, 0x5b, 0x9e, 0xe9, 0x1e, 0x75, 0xf7, 0xac, 0x30, 0xe2, 0xc4, 0x81, - 0x17, 0xe0, 0x1d, 0x38, 0xf3, 0x88, 0xa8, 0x7f, 0xe2, 0x19, 0x67, 0x23, 0xc3, 0xad, 0xba, 0xea, - 0xab, 0x6f, 0xaa, 0xbf, 0xaa, 0xea, 0x81, 0x93, 0x42, 0x95, 0xe7, 0x85, 0x2a, 0x93, 0x54, 0xf0, - 0x25, 0x5b, 0xcd, 0x4b, 0x29, 0xb4, 0x40, 0x9d, 0x42, 0x95, 0xd1, 0x97, 0x30, 0xb8, 0xba, 0xbd, - 0xb9, 0xb4, 0x7e, 0x84, 0xa0, 0xab, 0xb7, 0x25, 0x0d, 0x5b, 0xd3, 0xd6, 0xac, 0x87, 0xad, 0x8d, - 0x4e, 0xa1, 0xef, 0xb2, 0xc2, 0xf6, 0xb4, 0x35, 0x0b, 0xb0, 0x3f, 0x45, 0xff, 0x74, 0x61, 0xf2, - 0x96, 0x2c, 0x24, 0x4b, 0xf7, 0xf2, 0x39, 0x29, 0x5c, 0xfe, 0x00, 0x5b, 0x1b, 0xbd, 0x00, 0x90, - 0x42, 0xe8, 0x24, 0xa5, 0x52, 0xab, 0xb0, 0x3d, 0xed, 0xcc, 0x02, 0x3c, 0x30, 0x9e, 0x4b, 0xe3, - 0x40, 0x9f, 0x03, 0x62, 0x5c, 0x53, 0x59, 0xd0, 0x8c, 0x11, 0x4d, 0x3d, 0xac, 0x63, 0x61, 0xcf, - 0x9a, 0x11, 0x07, 0x3f, 0x85, 0x3e, 0xc9, 0x0a, 0xc6, 0x55, 0xd8, 0xb5, 0x10, 0x7f, 0x42, 0x9f, - 0xc1, 0x44, 0xd2, 0x77, 0x22, 0x25, 0x9a, 0x09, 0x9e, 0xe4, 0x4c, 0xe9, 0xb0, 0x67, 0x01, 0xe3, - 0xda, 0xfd, 0x13, 0x53, 0x1a, 0x5d, 0xc2, 0x91, 0x62, 0x2b, 0xce, 0xf8, 0x2a, 0x61, 0x19, 0xe5, - 0x9a, 0xe9, 0x6d, 0xd8, 0x9f, 0xb6, 0x66, 0xc3, 0x8b, 0x70, 0x5e, 0xa8, 0x72, 0x7e, 0xeb, 0x82, - 0xb1, 0x8f, 0xc5, 0x7c, 0x29, 0xf0, 0x44, 0xed, 0x3b, 0x51, 0x02, 0xaf, 0x84, 0x5c, 0x11, 0xce, - 0x7e, 0xb3, 0xc4, 0x24, 0x4f, 0x2a, 0xce, 0xb4, 0x27, 0x5c, 0x32, 0x2a, 0x55, 0xf8, 0x64, 0xda, - 0x99, 0x0d, 0x2f, 0x3e, 0xb0, 0x9c, 0x4e, 0xa6, 0xeb, 0xbb, 0x78, 0x17, 0xc7, 0x2f, 0xf6, 0xf3, - 0xef, 0x38, 0xd3, 0x75, 0x54, 0xa1, 0xaf, 0x61, 0x94, 0xca, 0x6d, 0xa9, 0x85, 0xef, 0x58, 0xf8, - 0xd4, 0x96, 0xd8, 0xa4, 0xbb, 0xb4, 0x71, 0x27, 0x3c, 0x0e, 0xd2, 0xc6, 0x09, 0x7d, 0x02, 0x63, - 0x9d, 0xab, 0xa4, 0x21, 0xfb, 0xc0, 0x6a, 0x11, 0xe8, 0x5c, 0xe1, 0x9d, 0xf2, 0x5f, 0xc0, 0xa9, - 0x41, 0x3d, 0xa2, 0x3e, 0x58, 0xf4, 0x89, 0xce, 0x55, 0xfc, 0x5e, 0x03, 0xbe, 0x82, 0xc9, 0xd2, - 0x7e, 0x3f, 0xe1, 0x22, 0xa3, 0x89, 0xa8, 0x54, 0x38, 0xb4, 0xb5, 0xa1, 0x46, 0x6d, 0x3f, 0x8b, - 0x8c, 0x5e, 0xdf, 0x29, 0x3c, 0x5a, 0xd6, 0xc7, 0x4a, 0x45, 0x7f, 0xb5, 0x00, 0xbd, 0x5f, 0x3c, - 0xba, 0x80, 0xe7, 0x46, 0x60, 0xa2, 0x2b, 0x49, 0x93, 0x35, 0x51, 0xeb, 0x64, 0x49, 0x0a, 0x96, - 0x6f, 0xfd, 0x18, 0x1d, 0xef, 0x82, 0xdf, 0x13, 0xb5, 0x7e, 0x6b, 0x43, 0x28, 0x86, 0xb3, 0xfb, - 0xf6, 0x35, 0x64, 0xf7, 0xd9, 0x15, 0x4f, 0x8d, 0xac, 0x76, 0x60, 0x07, 0xf8, 0xe5, 0x3d, 0xb0, - 0x16, 0xd8, 0x12, 0x79, 0x54, 0xf4, 0x77, 0x0b, 0x26, 0x71, 0x46, 0x0b, 0xf6, 0xeb, 0xe1, 0x41, - 0x3e, 0x82, 0x0e, 0x2b, 0x37, 0x7e, 0x0b, 0x8c, 0x89, 0x2e, 0xa0, 0x6f, 0x6a, 0xa3, 0x32, 0xec, - 0x58, 0x09, 0x3e, 0xb4, 0x12, 0xec, 0xb8, 0x6e, 0x6d, 0xcc, 0x77, 0xc8, 0x23, 0xd1, 0xc7, 0x30, - 0x6a, 0x0c, 0x6a, 0xb9, 0x09, 0xbb, 0x96, 0x2f, 0xa8, 0x9d, 0x37, 0x1b, 0x74, 0x02, 0x3d, 0x5a, - 0x8a, 0x74, 0x1d, 0xf6, 0xa6, 0xad, 0x59, 0x07, 0xbb, 0x43, 0xf4, 0x67, 0x1b, 0x9e, 0x3f, 0x4a, - 0x6e, 0xca, 0x4d, 0x25, 0xcd, 0x6c, 0xb9, 0x01, 0xb6, 0x36, 0x1a, 0x43, 0x5b, 0xdd, 0x57, 0xdb, - 0x56, 0x1b, 0xf4, 0x0d, 0xbc, 0x3c, 0x3c, 0xb3, 0xf6, 0x12, 0x03, 0xfc, 0xd1, 0xa1, 0xc9, 0x34, - 0x5f, 0x92, 0x22, 0xa7, 0xb6, 0xea, 0x1e, 0xb6, 0xb6, 0xb9, 0x12, 0xe5, 0x52, 0xe4, 0x79, 0x41, - 0xb9, 0x21, 0xb4, 0x55, 0x0f, 0x70, 0x50, 0x3b, 0xe3, 0x0c, 0xfd, 0x00, 0x67, 0xa6, 0x2c, 0x43, - 0x44, 0xf2, 0xa4, 0x21, 0x01, 0xe3, 0x4b, 0x21, 0x0b, 0x6b, 0xdb, 0x45, 0x0c, 0xf0, 0xab, 0x1a, - 0x88, 0x77, 0xb8, 0xb8, 0x86, 0x45, 0x02, 0x8e, 0x1f, 0x59, 0x53, 0x53, 0x47, 0x59, 0x2d, 0x72, - 0x96, 0x26, 0xbe, 0x2b, 0x4e, 0x8e, 0xc0, 0x39, 0x9d, 0x60, 0xe8, 0x35, 0x8c, 0x4b, 0xc9, 0xde, - 0x99, 0x61, 0xf7, 0xa8, 0xb6, 0xed, 0x5d, 0x60, 0x7b, 0xf7, 0x23, 0x75, 0x1b, 0x3f, 0xf2, 0x18, - 0x97, 0x14, 0xdd, 0xc2, 0x13, 0x1f, 0x41, 0x9f, 0xc2, 0x78, 0x43, 0x9b, 0x33, 0xe7, 0x67, 0x64, - 0xb4, 0xa1, 0x8d, 0x01, 0x43, 0x67, 0x10, 0x18, 0x58, 0x41, 0x34, 0x95, 0x8c, 0xe4, 0xbe, 0x0f, - 0xc3, 0x0d, 0xdd, 0x5e, 0x79, 0x57, 0xf4, 0xfb, 0xfd, 0x32, 0x34, 0x1f, 0x06, 0x34, 0x85, 0xa1, - 0x59, 0x42, 0xb6, 0x64, 0x29, 0xd1, 0xd4, 0x5f, 0xa1, 0xe9, 0xfa, 0x1f, 0x8d, 0x6c, 0xff, 0x77, - 0x23, 0xa3, 0x3f, 0xda, 0x30, 0xda, 0x5b, 0x56, 0xf3, 0xb4, 0x52, 0x4e, 0x16, 0xb9, 0xfb, 0xe8, - 0x53, 0xec, 0x4f, 0x28, 0x86, 0x93, 0x34, 0x67, 0xa6, 0xb5, 0xa2, 0x7a, 0xf8, 0x95, 0x03, 0x2f, - 0x1c, 0x72, 0x49, 0xd7, 0x55, 0xe3, 0x72, 0xdf, 0x02, 0x2a, 0x29, 0x95, 0x0f, 0x88, 0x3a, 0x87, - 0x89, 0x8e, 0x4c, 0xca, 0x1e, 0xcd, 0x77, 0x70, 0x6c, 0x9f, 0xfd, 0x07, 0x3c, 0xdd, 0xc3, 0x3c, - 0xcf, 0x6c, 0x4e, 0x93, 0xe8, 0x4d, 0x02, 0x67, 0x42, 0xae, 0xe6, 0xeb, 0x6d, 0x49, 0x65, 0x4e, - 0xb3, 0x15, 0x95, 0x73, 0xf7, 0x62, 0xb9, 0x3f, 0xa4, 0x32, 0x54, 0x6f, 0x8e, 0xae, 0x54, 0xe9, - 0xf6, 0xec, 0x86, 0xa4, 0x1b, 0xb2, 0xa2, 0xbf, 0xcc, 0x56, 0x4c, 0xaf, 0xab, 0xc5, 0x3c, 0x15, - 0xc5, 0x79, 0x23, 0xf7, 0xdc, 0xe5, 0x9e, 0xbb, 0x5c, 0xf3, 0xbf, 0x5d, 0xf4, 0xad, 0xfd, 0xfa, - 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x43, 0xee, 0x85, 0x81, 0x07, 0x00, 0x00, + 0x10, 0x96, 0x7f, 0x77, 0x5d, 0x1e, 0xdb, 0xd9, 0xce, 0x0f, 0x23, 0xc4, 0xee, 0x3a, 0x03, 0x08, + 0x5f, 0x70, 0xa4, 0x2c, 0x12, 0x12, 0xe2, 0xb4, 0x81, 0x85, 0x61, 0x09, 0x89, 0x3a, 0xca, 0x85, + 0xcb, 0xa8, 0x3d, 0xd3, 0xb6, 0x5b, 0x9e, 0xe9, 0x1e, 0x75, 0xf7, 0x44, 0x18, 0x71, 0xe6, 0x05, + 0x78, 0x07, 0xce, 0xbc, 0x09, 0xaf, 0x84, 0xfa, 0x27, 0xf6, 0x38, 0x89, 0xcc, 0xde, 0xaa, 0xab, + 0xbe, 0xfa, 0xa6, 0xfa, 0xab, 0xaa, 0x1e, 0x38, 0x2a, 0x54, 0x79, 0x56, 0xa8, 0x32, 0x49, 0x05, + 0x9f, 0xb3, 0xc5, 0xb4, 0x94, 0x42, 0x0b, 0xd4, 0x2a, 0x54, 0x19, 0x7d, 0x0d, 0xbd, 0xcb, 0x9b, + 0xeb, 0x0b, 0xeb, 0x47, 0x08, 0xda, 0x7a, 0x5d, 0xd2, 0xb0, 0x31, 0x6e, 0x4c, 0x3a, 0xd8, 0xda, + 0xe8, 0x04, 0xba, 0x2e, 0x2b, 0x6c, 0x8e, 0x1b, 0x93, 0x00, 0xfb, 0x53, 0xf4, 0x4f, 0x1b, 0x46, + 0xef, 0xc8, 0x4c, 0xb2, 0x74, 0x27, 0x9f, 0x93, 0xc2, 0xe5, 0xf7, 0xb0, 0xb5, 0xd1, 0x4b, 0x00, + 0x29, 0x84, 0x4e, 0x52, 0x2a, 0xb5, 0x0a, 0x9b, 0xe3, 0xd6, 0x24, 0xc0, 0x3d, 0xe3, 0xb9, 0x30, + 0x0e, 0xf4, 0x25, 0x20, 0xc6, 0x35, 0x95, 0x05, 0xcd, 0x18, 0xd1, 0xd4, 0xc3, 0x5a, 0x16, 0xf6, + 0xa2, 0x1e, 0x71, 0xf0, 0x13, 0xe8, 0x92, 0xac, 0x60, 0x5c, 0x85, 0x6d, 0x0b, 0xf1, 0x27, 0xf4, + 0x05, 0x8c, 0x24, 0xbd, 0x13, 0x29, 0xd1, 0x4c, 0xf0, 0x24, 0x67, 0x4a, 0x87, 0x1d, 0x0b, 0x18, + 0x6e, 0xdd, 0x3f, 0x33, 0xa5, 0xd1, 0x05, 0x1c, 0x28, 0xb6, 0xe0, 0x8c, 0x2f, 0x12, 0x96, 0x51, + 0xae, 0x99, 0x5e, 0x87, 0xdd, 0x71, 0x63, 0xd2, 0x3f, 0x0f, 0xa7, 0x85, 0x2a, 0xa7, 0x37, 0x2e, + 0x18, 0xfb, 0x58, 0xcc, 0xe7, 0x02, 0x8f, 0xd4, 0xae, 0x13, 0x25, 0xf0, 0x5a, 0xc8, 0x05, 0xe1, + 0xec, 0x77, 0x4b, 0x4c, 0xf2, 0xa4, 0xe2, 0x4c, 0x7b, 0xc2, 0x39, 0xa3, 0x52, 0x85, 0xcf, 0xc6, + 0xad, 0x49, 0xff, 0xfc, 0x23, 0xcb, 0xe9, 0x64, 0xba, 0xba, 0x8d, 0x37, 0x71, 0xfc, 0x72, 0x37, + 0xff, 0x96, 0x33, 0xbd, 0x8d, 0x2a, 0xf4, 0x2d, 0x0c, 0x52, 0xb9, 0x2e, 0xb5, 0xf0, 0x1d, 0x0b, + 0x9f, 0xdb, 0x12, 0xeb, 0x74, 0x17, 0x36, 0xee, 0x84, 0xc7, 0x41, 0x5a, 0x3b, 0xa1, 0xcf, 0x60, + 0xa8, 0x73, 0x95, 0xd4, 0x64, 0xef, 0x59, 0x2d, 0x02, 0x9d, 0x2b, 0xbc, 0x51, 0xfe, 0x2b, 0x38, + 0x31, 0xa8, 0x27, 0xd4, 0x07, 0x8b, 0x3e, 0xd2, 0xb9, 0x8a, 0x1f, 0x35, 0xe0, 0x1b, 0x18, 0xcd, + 0xed, 0xf7, 0x13, 0x2e, 0x32, 0x9a, 0x88, 0x4a, 0x85, 0x7d, 0x5b, 0x1b, 0xaa, 0xd5, 0xf6, 0x8b, + 0xc8, 0xe8, 0xd5, 0xad, 0xc2, 0x83, 0xf9, 0xf6, 0x58, 0xa9, 0xe8, 0xaf, 0x06, 0xa0, 0xc7, 0xc5, + 0xa3, 0x73, 0x38, 0x36, 0x02, 0x13, 0x5d, 0x49, 0x9a, 0x2c, 0x89, 0x5a, 0x26, 0x73, 0x52, 0xb0, + 0x7c, 0xed, 0xc7, 0xe8, 0x70, 0x13, 0xfc, 0x91, 0xa8, 0xe5, 0x3b, 0x1b, 0x42, 0x31, 0x9c, 0xde, + 0xb7, 0xaf, 0x26, 0xbb, 0xcf, 0xae, 0x78, 0x6a, 0x64, 0xb5, 0x03, 0xdb, 0xc3, 0xaf, 0xee, 0x81, + 0x5b, 0x81, 0x2d, 0x91, 0x47, 0x45, 0x7f, 0x37, 0x60, 0x14, 0x67, 0xb4, 0x60, 0xbf, 0xed, 0x1f, + 0xe4, 0x03, 0x68, 0xb1, 0x72, 0xe5, 0xb7, 0xc0, 0x98, 0xe8, 0x1c, 0xba, 0xa6, 0x36, 0x2a, 0xc3, + 0x96, 0x95, 0xe0, 0x63, 0x2b, 0xc1, 0x86, 0xeb, 0xc6, 0xc6, 0x7c, 0x87, 0x3c, 0x12, 0x7d, 0x0a, + 0x83, 0xda, 0xa0, 0x96, 0xab, 0xb0, 0x6d, 0xf9, 0x82, 0xad, 0xf3, 0x7a, 0x85, 0x8e, 0xa0, 0x43, + 0x4b, 0x91, 0x2e, 0xc3, 0xce, 0xb8, 0x31, 0x69, 0x61, 0x77, 0x88, 0xfe, 0x6c, 0xc2, 0xf1, 0x93, + 0xe4, 0xa6, 0xdc, 0x54, 0xd2, 0xcc, 0x96, 0x1b, 0x60, 0x6b, 0xa3, 0x21, 0x34, 0xd5, 0x7d, 0xb5, + 0x4d, 0xb5, 0x42, 0xdf, 0xc1, 0xab, 0xfd, 0x33, 0x6b, 0x2f, 0xd1, 0xc3, 0x9f, 0xec, 0x9b, 0x4c, + 0xf3, 0x25, 0x29, 0x72, 0x6a, 0xab, 0xee, 0x60, 0x6b, 0x9b, 0x2b, 0x51, 0x2e, 0x45, 0x9e, 0x17, + 0x94, 0x1b, 0x42, 0x5b, 0x75, 0x0f, 0x07, 0x5b, 0x67, 0x9c, 0xa1, 0x9f, 0xe0, 0xd4, 0x94, 0x65, + 0x88, 0x48, 0x9e, 0xd4, 0x24, 0x60, 0x7c, 0x2e, 0x64, 0x61, 0x6d, 0xbb, 0x88, 0x01, 0x7e, 0xbd, + 0x05, 0xe2, 0x0d, 0x2e, 0xde, 0xc2, 0x22, 0x01, 0x87, 0x4f, 0xac, 0xa9, 0xa9, 0xa3, 0xac, 0x66, + 0x39, 0x4b, 0x13, 0xdf, 0x15, 0x27, 0x47, 0xe0, 0x9c, 0x4e, 0x30, 0xf4, 0x06, 0x86, 0xa5, 0x64, + 0x77, 0x66, 0xd8, 0x3d, 0xaa, 0x69, 0x7b, 0x17, 0xd8, 0xde, 0xbd, 0xa7, 0x6e, 0xe3, 0x07, 0x1e, + 0xe3, 0x92, 0xa2, 0x1b, 0x78, 0xe6, 0x23, 0xe8, 0x73, 0x18, 0xae, 0x68, 0x7d, 0xe6, 0xfc, 0x8c, + 0x0c, 0x56, 0xb4, 0x36, 0x60, 0xe8, 0x14, 0x02, 0x03, 0x2b, 0x88, 0xa6, 0x92, 0x91, 0xdc, 0xf7, + 0xa1, 0xbf, 0xa2, 0xeb, 0x4b, 0xef, 0x8a, 0xfe, 0xb8, 0x5f, 0x86, 0xfa, 0xc3, 0x80, 0xc6, 0xd0, + 0x37, 0x4b, 0xc8, 0xe6, 0x2c, 0x25, 0x9a, 0xfa, 0x2b, 0xd4, 0x5d, 0x1f, 0xd0, 0xc8, 0xe6, 0xff, + 0x37, 0x32, 0xfa, 0xb7, 0x09, 0x83, 0x9d, 0x65, 0x35, 0x4f, 0x2b, 0xe5, 0x64, 0x96, 0xbb, 0x8f, + 0x3e, 0xc7, 0xfe, 0x84, 0x62, 0x38, 0x4a, 0x73, 0x66, 0x5a, 0x2b, 0xaa, 0x87, 0x5f, 0xd9, 0xf3, + 0xc2, 0x21, 0x97, 0x74, 0x55, 0xd5, 0x2e, 0xf7, 0x3d, 0xa0, 0x92, 0x52, 0xf9, 0x80, 0xa8, 0xb5, + 0x9f, 0xe8, 0xc0, 0xa4, 0xec, 0xd0, 0xfc, 0x00, 0x87, 0xf6, 0xd9, 0x7f, 0xc0, 0xd3, 0xde, 0xcf, + 0xf3, 0xc2, 0xe6, 0xec, 0x10, 0xbd, 0x87, 0x63, 0x21, 0x33, 0x2a, 0x1f, 0x95, 0xd4, 0xd9, 0x4f, + 0x75, 0xe8, 0xb3, 0xea, 0x64, 0x6f, 0x13, 0x38, 0x15, 0x72, 0x31, 0x5d, 0xae, 0x4b, 0x2a, 0x73, + 0x9a, 0x2d, 0xa8, 0x9c, 0xba, 0xe7, 0xcf, 0xfd, 0x6e, 0x95, 0x21, 0x7b, 0x7b, 0x70, 0xa9, 0x4a, + 0xb7, 0xb4, 0xd7, 0x24, 0x5d, 0x91, 0x05, 0xfd, 0x75, 0xb2, 0x60, 0x7a, 0x59, 0xcd, 0xa6, 0xa9, + 0x28, 0xce, 0x6a, 0xb9, 0x67, 0x2e, 0xf7, 0xcc, 0xe5, 0x9a, 0x9f, 0xf7, 0xac, 0x6b, 0xed, 0x37, + 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x69, 0x49, 0xd1, 0x51, 0xce, 0x07, 0x00, 0x00, } diff --git a/protos/msp/msp_config.proto b/protos/msp/msp_config.proto index 2306a14d8d3..acedcaa533e 100644 --- a/protos/msp/msp_config.proto +++ b/protos/msp/msp_config.proto @@ -207,4 +207,7 @@ message FabricNodeOUs { // OU Identifier of the admins FabricOUIdentifier admin_ou_identifier = 4; + + // OU Identifier of the orderers + FabricOUIdentifier orderer_ou_identifier = 5; } \ No newline at end of file diff --git a/protos/msp/msp_principal.pb.go b/protos/msp/msp_principal.pb.go index 9200e97f2b5..95fd1a47f2d 100644 --- a/protos/msp/msp_principal.pb.go +++ b/protos/msp/msp_principal.pb.go @@ -54,16 +54,17 @@ func (x MSPPrincipal_Classification) String() string { return proto.EnumName(MSPPrincipal_Classification_name, int32(x)) } func (MSPPrincipal_Classification) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{0, 0} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{0, 0} } type MSPRole_MSPRoleType int32 const ( - MSPRole_MEMBER MSPRole_MSPRoleType = 0 - MSPRole_ADMIN MSPRole_MSPRoleType = 1 - MSPRole_CLIENT MSPRole_MSPRoleType = 2 - MSPRole_PEER MSPRole_MSPRoleType = 3 + MSPRole_MEMBER MSPRole_MSPRoleType = 0 + MSPRole_ADMIN MSPRole_MSPRoleType = 1 + MSPRole_CLIENT MSPRole_MSPRoleType = 2 + MSPRole_PEER MSPRole_MSPRoleType = 3 + MSPRole_ORDERER MSPRole_MSPRoleType = 4 ) var MSPRole_MSPRoleType_name = map[int32]string{ @@ -71,19 +72,21 @@ var MSPRole_MSPRoleType_name = map[int32]string{ 1: "ADMIN", 2: "CLIENT", 3: "PEER", + 4: "ORDERER", } var MSPRole_MSPRoleType_value = map[string]int32{ - "MEMBER": 0, - "ADMIN": 1, - "CLIENT": 2, - "PEER": 3, + "MEMBER": 0, + "ADMIN": 1, + "CLIENT": 2, + "PEER": 3, + "ORDERER": 4, } func (x MSPRole_MSPRoleType) String() string { return proto.EnumName(MSPRole_MSPRoleType_name, int32(x)) } func (MSPRole_MSPRoleType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{2, 0} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{2, 0} } type MSPIdentityAnonymity_MSPIdentityAnonymityType int32 @@ -106,7 +109,7 @@ func (x MSPIdentityAnonymity_MSPIdentityAnonymityType) String() string { return proto.EnumName(MSPIdentityAnonymity_MSPIdentityAnonymityType_name, int32(x)) } func (MSPIdentityAnonymity_MSPIdentityAnonymityType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{3, 0} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{3, 0} } // MSPPrincipal aims to represent an MSP-centric set of identities. @@ -153,7 +156,7 @@ func (m *MSPPrincipal) Reset() { *m = MSPPrincipal{} } func (m *MSPPrincipal) String() string { return proto.CompactTextString(m) } func (*MSPPrincipal) ProtoMessage() {} func (*MSPPrincipal) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{0} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{0} } func (m *MSPPrincipal) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MSPPrincipal.Unmarshal(m, b) @@ -209,7 +212,7 @@ func (m *OrganizationUnit) Reset() { *m = OrganizationUnit{} } func (m *OrganizationUnit) String() string { return proto.CompactTextString(m) } func (*OrganizationUnit) ProtoMessage() {} func (*OrganizationUnit) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{1} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{1} } func (m *OrganizationUnit) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUnit.Unmarshal(m, b) @@ -269,7 +272,7 @@ func (m *MSPRole) Reset() { *m = MSPRole{} } func (m *MSPRole) String() string { return proto.CompactTextString(m) } func (*MSPRole) ProtoMessage() {} func (*MSPRole) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{2} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{2} } func (m *MSPRole) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MSPRole.Unmarshal(m, b) @@ -315,7 +318,7 @@ func (m *MSPIdentityAnonymity) Reset() { *m = MSPIdentityAnonymity{} } func (m *MSPIdentityAnonymity) String() string { return proto.CompactTextString(m) } func (*MSPIdentityAnonymity) ProtoMessage() {} func (*MSPIdentityAnonymity) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{3} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{3} } func (m *MSPIdentityAnonymity) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MSPIdentityAnonymity.Unmarshal(m, b) @@ -357,7 +360,7 @@ func (m *CombinedPrincipal) Reset() { *m = CombinedPrincipal{} } func (m *CombinedPrincipal) String() string { return proto.CompactTextString(m) } func (*CombinedPrincipal) ProtoMessage() {} func (*CombinedPrincipal) Descriptor() ([]byte, []int) { - return fileDescriptor_msp_principal_9016cf1a8a7156cd, []int{4} + return fileDescriptor_msp_principal_3b3c17f3e626d163, []int{4} } func (m *CombinedPrincipal) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CombinedPrincipal.Unmarshal(m, b) @@ -396,42 +399,42 @@ func init() { } func init() { - proto.RegisterFile("msp/msp_principal.proto", fileDescriptor_msp_principal_9016cf1a8a7156cd) -} - -var fileDescriptor_msp_principal_9016cf1a8a7156cd = []byte{ - // 519 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xdf, 0x6a, 0xdb, 0x30, - 0x14, 0xc6, 0xeb, 0xa4, 0x6b, 0x9b, 0x93, 0x3f, 0xa8, 0x22, 0xa5, 0x81, 0x95, 0x11, 0xbc, 0x0d, - 0x72, 0xe5, 0x40, 0xba, 0xed, 0x62, 0x77, 0x4e, 0x62, 0x86, 0x20, 0x96, 0x8d, 0xe3, 0x5c, 0xb4, - 0x94, 0x05, 0xc7, 0x51, 0x52, 0x81, 0x6d, 0x19, 0xdb, 0xbd, 0xf0, 0xde, 0x65, 0x6f, 0xb0, 0xcb, - 0x3d, 0xd5, 0x9e, 0x62, 0xd8, 0x6e, 0x12, 0x65, 0xeb, 0x60, 0x57, 0xf6, 0x39, 0xe7, 0xf7, 0x1d, - 0x1d, 0x49, 0x9f, 0xe0, 0x3a, 0x4c, 0xe3, 0x61, 0x98, 0xc6, 0xcb, 0x38, 0xe1, 0x91, 0xcf, 0x63, - 0x2f, 0xd0, 0xe2, 0x44, 0x64, 0x02, 0x9f, 0xf9, 0x22, 0x0c, 0x45, 0xa4, 0xfe, 0x52, 0xa0, 0x65, - 0xce, 0x6d, 0x7b, 0x57, 0xc6, 0x5f, 0xa1, 0xb7, 0x67, 0x97, 0x7e, 0xe0, 0xa5, 0x29, 0xdf, 0x70, - 0xdf, 0xcb, 0xb8, 0x88, 0x7a, 0x4a, 0x5f, 0x19, 0x74, 0x46, 0x6f, 0xb5, 0x4a, 0xab, 0xc9, 0x3a, - 0x6d, 0x72, 0x84, 0x3a, 0xd7, 0xfb, 0x26, 0xc7, 0x05, 0x7c, 0x03, 0x8d, 0x7d, 0xa9, 0x57, 0xeb, - 0x2b, 0x83, 0x96, 0x73, 0x48, 0xa8, 0x0f, 0xd0, 0xf9, 0x83, 0xbf, 0x80, 0x53, 0xc7, 0x9a, 0x19, - 0xe8, 0x04, 0x5f, 0xc1, 0xa5, 0xe5, 0x7c, 0xd1, 0x29, 0xb9, 0xd7, 0x5d, 0x62, 0xd1, 0xe5, 0x82, - 0x12, 0x17, 0x29, 0xb8, 0x05, 0x17, 0x64, 0x6a, 0x50, 0x97, 0xb8, 0x77, 0xa8, 0x86, 0xdb, 0xd0, - 0xd0, 0xa9, 0x45, 0xef, 0xcc, 0x22, 0xac, 0x17, 0xc5, 0x89, 0x65, 0x8e, 0x09, 0x35, 0xa6, 0xe8, - 0x54, 0xfd, 0xa9, 0x00, 0xb2, 0x92, 0xad, 0x17, 0xf1, 0x6f, 0x65, 0xf3, 0x45, 0xc4, 0x33, 0xfc, - 0x1e, 0x3a, 0xc5, 0x01, 0xf1, 0x35, 0x8b, 0x32, 0xbe, 0xe1, 0x2c, 0x29, 0xb7, 0xd9, 0x70, 0xda, - 0x61, 0x1a, 0x93, 0x7d, 0x12, 0x4f, 0xe1, 0x8d, 0x90, 0xa4, 0x5e, 0xb0, 0x7c, 0x8a, 0x78, 0x26, - 0xcb, 0x6a, 0xa5, 0xec, 0xe6, 0x98, 0x2a, 0x96, 0x90, 0xba, 0xdc, 0xc2, 0x95, 0xcf, 0x92, 0x2a, - 0x48, 0x65, 0x71, 0xbd, 0x3c, 0x89, 0xee, 0xa1, 0x78, 0x10, 0xa9, 0xdf, 0x15, 0x38, 0x37, 0xe7, - 0xb6, 0x23, 0x02, 0xf6, 0xbf, 0xd3, 0x0e, 0xe1, 0x34, 0x11, 0x01, 0x2b, 0x67, 0xea, 0x8c, 0x5e, - 0x4b, 0x37, 0x56, 0x74, 0xd9, 0x7d, 0xdd, 0x3c, 0x66, 0x4e, 0x09, 0xaa, 0x9f, 0xa1, 0x29, 0x25, - 0x31, 0xc0, 0x99, 0x69, 0x98, 0x63, 0xc3, 0x41, 0x27, 0xb8, 0x01, 0xaf, 0xf4, 0xa9, 0x49, 0x28, - 0x52, 0x8a, 0xf4, 0x64, 0x46, 0x0c, 0xea, 0xa2, 0x5a, 0x71, 0x31, 0xb6, 0x61, 0x38, 0xa8, 0xae, - 0xfe, 0x50, 0xa0, 0x6b, 0xce, 0xed, 0x6a, 0xf9, 0x2c, 0xd7, 0x23, 0x11, 0xe5, 0x21, 0xcf, 0x72, - 0xfc, 0x00, 0x1d, 0x6f, 0x17, 0x2c, 0xb3, 0x3c, 0x66, 0xcf, 0x0e, 0xfa, 0x28, 0xcd, 0xf3, 0x97, - 0xea, 0xc5, 0x64, 0x39, 0x69, 0xdb, 0x93, 0x43, 0xf5, 0x13, 0xf4, 0xfe, 0x85, 0xe2, 0x26, 0x9c, - 0x53, 0xcb, 0x24, 0x54, 0x9f, 0xa1, 0x93, 0x83, 0x27, 0xac, 0xc5, 0x1c, 0x29, 0x2a, 0x81, 0xcb, - 0x89, 0x08, 0x57, 0x3c, 0x62, 0xeb, 0x83, 0xed, 0x3f, 0x00, 0xec, 0x5d, 0x98, 0xf6, 0x94, 0x7e, - 0x7d, 0xd0, 0x1c, 0x75, 0x5f, 0x32, 0xba, 0x23, 0x71, 0x63, 0x1b, 0xde, 0x89, 0x64, 0xab, 0x3d, - 0xe6, 0x31, 0x4b, 0x02, 0xb6, 0xde, 0xb2, 0x44, 0xdb, 0x78, 0xab, 0x84, 0xfb, 0xd5, 0x2b, 0x4b, - 0x9f, 0x1b, 0xdc, 0x0f, 0xb6, 0x3c, 0x7b, 0x7c, 0x5a, 0x15, 0xe1, 0x50, 0x82, 0x87, 0x15, 0x3c, - 0xac, 0xe0, 0xe2, 0x9d, 0xae, 0xce, 0xca, 0xff, 0xdb, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x40, - 0x36, 0xd2, 0xf9, 0xb9, 0x03, 0x00, 0x00, + proto.RegisterFile("msp/msp_principal.proto", fileDescriptor_msp_principal_3b3c17f3e626d163) +} + +var fileDescriptor_msp_principal_3b3c17f3e626d163 = []byte{ + // 524 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xc1, 0x6e, 0xda, 0x40, + 0x10, 0x86, 0x63, 0xa0, 0x49, 0x98, 0x00, 0xda, 0xac, 0x88, 0x82, 0xd4, 0xa8, 0x42, 0x6e, 0x2b, + 0x71, 0x32, 0x12, 0x69, 0x7b, 0x37, 0x60, 0x45, 0x96, 0xf0, 0xda, 0x5a, 0xcc, 0x21, 0x51, 0x54, + 0x64, 0xcc, 0x42, 0x56, 0xb2, 0xbd, 0x96, 0xed, 0x1c, 0xdc, 0x47, 0xaa, 0x7a, 0xec, 0x53, 0xf5, + 0x29, 0x2a, 0xdb, 0x01, 0x96, 0x36, 0x95, 0x7a, 0xb2, 0x67, 0xe6, 0xfb, 0xc7, 0xbf, 0x77, 0x67, + 0xe0, 0x3a, 0x4c, 0xe3, 0x61, 0x98, 0xc6, 0xcb, 0x38, 0xe1, 0x91, 0xcf, 0x63, 0x2f, 0xd0, 0xe2, + 0x44, 0x64, 0x02, 0x9f, 0xfa, 0x22, 0x0c, 0x45, 0xa4, 0xfe, 0x52, 0xa0, 0x65, 0xcd, 0x1d, 0x67, + 0x57, 0xc6, 0x5f, 0xa1, 0xb7, 0x67, 0x97, 0x7e, 0xe0, 0xa5, 0x29, 0xdf, 0x70, 0xdf, 0xcb, 0xb8, + 0x88, 0x7a, 0x4a, 0x5f, 0x19, 0x74, 0x46, 0xef, 0xb5, 0x4a, 0xab, 0xc9, 0x3a, 0x6d, 0x72, 0x84, + 0xd2, 0xeb, 0x7d, 0x93, 0xe3, 0x02, 0xbe, 0x81, 0xe6, 0xbe, 0xd4, 0xab, 0xf5, 0x95, 0x41, 0x8b, + 0x1e, 0x12, 0xea, 0x23, 0x74, 0xfe, 0xe0, 0xcf, 0xa1, 0x41, 0xed, 0x99, 0x81, 0x4e, 0xf0, 0x15, + 0x5c, 0xda, 0xf4, 0x4e, 0x27, 0xe6, 0x83, 0xee, 0x9a, 0x36, 0x59, 0x2e, 0x88, 0xe9, 0x22, 0x05, + 0xb7, 0xe0, 0xdc, 0x9c, 0x1a, 0xc4, 0x35, 0xdd, 0x7b, 0x54, 0xc3, 0x6d, 0x68, 0xea, 0xc4, 0x26, + 0xf7, 0x56, 0x11, 0xd6, 0x8b, 0xe2, 0xc4, 0xb6, 0xc6, 0x26, 0x31, 0xa6, 0xa8, 0xa1, 0xfe, 0x54, + 0x00, 0xd9, 0xc9, 0xd6, 0x8b, 0xf8, 0xb7, 0xb2, 0xf9, 0x22, 0xe2, 0x19, 0xfe, 0x08, 0x9d, 0xe2, + 0x80, 0xf8, 0x9a, 0x45, 0x19, 0xdf, 0x70, 0x96, 0x94, 0xbf, 0xd9, 0xa4, 0xed, 0x30, 0x8d, 0xcd, + 0x7d, 0x12, 0x4f, 0xe1, 0x9d, 0x90, 0xa4, 0x5e, 0xb0, 0x7c, 0x8e, 0x78, 0x26, 0xcb, 0x6a, 0xa5, + 0xec, 0xe6, 0x98, 0x2a, 0x3e, 0x21, 0x75, 0xb9, 0x85, 0x2b, 0x9f, 0x25, 0x55, 0x90, 0xca, 0xe2, + 0x7a, 0x79, 0x12, 0xdd, 0x43, 0xf1, 0x20, 0x52, 0xbf, 0x2b, 0x70, 0x66, 0xcd, 0x1d, 0x2a, 0x02, + 0xf6, 0xbf, 0x6e, 0x87, 0xd0, 0x48, 0x44, 0xc0, 0x4a, 0x4f, 0x9d, 0xd1, 0x5b, 0xe9, 0xc6, 0x8a, + 0x2e, 0xbb, 0xa7, 0x9b, 0xc7, 0x8c, 0x96, 0xa0, 0x7a, 0x07, 0x17, 0x52, 0x12, 0x03, 0x9c, 0x5a, + 0x86, 0x35, 0x36, 0x28, 0x3a, 0xc1, 0x4d, 0x78, 0xa3, 0x4f, 0x2d, 0x93, 0x20, 0xa5, 0x48, 0x4f, + 0x66, 0xa6, 0x41, 0x5c, 0x54, 0x2b, 0x2e, 0xc6, 0x31, 0x0c, 0x8a, 0xea, 0xf8, 0x02, 0xce, 0x6c, + 0x3a, 0x35, 0xa8, 0x41, 0x51, 0x43, 0xfd, 0xa1, 0x40, 0xd7, 0x9a, 0x3b, 0x95, 0x97, 0x2c, 0xd7, + 0x23, 0x11, 0xe5, 0x21, 0xcf, 0x72, 0xfc, 0x08, 0x1d, 0x6f, 0x17, 0x2c, 0xb3, 0x3c, 0x66, 0x2f, + 0xe3, 0xf4, 0x59, 0x32, 0xf7, 0x97, 0xea, 0xd5, 0x64, 0x69, 0xbb, 0xed, 0xc9, 0xa1, 0xfa, 0x05, + 0x7a, 0xff, 0x42, 0x0b, 0x7f, 0xc4, 0xb6, 0x4c, 0xa2, 0xcf, 0xd0, 0xc9, 0x61, 0x40, 0xec, 0xc5, + 0x1c, 0x29, 0xaa, 0x09, 0x97, 0x13, 0x11, 0xae, 0x78, 0xc4, 0xd6, 0x87, 0x1d, 0xf8, 0x04, 0xb0, + 0x1f, 0xc9, 0xb4, 0xa7, 0xf4, 0xeb, 0x83, 0x8b, 0x51, 0xf7, 0xb5, 0xa9, 0xa7, 0x12, 0x37, 0x76, + 0xe0, 0x83, 0x48, 0xb6, 0xda, 0x53, 0x1e, 0xb3, 0x24, 0x60, 0xeb, 0x2d, 0x4b, 0xb4, 0x8d, 0xb7, + 0x4a, 0xb8, 0x5f, 0xad, 0x5c, 0xfa, 0xd2, 0xe0, 0x61, 0xb0, 0xe5, 0xd9, 0xd3, 0xf3, 0xaa, 0x08, + 0x87, 0x12, 0x3c, 0xac, 0xe0, 0x61, 0x05, 0x17, 0x4b, 0xbb, 0x3a, 0x2d, 0xdf, 0x6f, 0x7f, 0x07, + 0x00, 0x00, 0xff, 0xff, 0x30, 0x91, 0xbc, 0x0d, 0xc6, 0x03, 0x00, 0x00, } diff --git a/protos/msp/msp_principal.proto b/protos/msp/msp_principal.proto index 972f0fe4dca..c9300ff3532 100644 --- a/protos/msp/msp_principal.proto +++ b/protos/msp/msp_principal.proto @@ -116,6 +116,7 @@ message MSPRole { ADMIN = 1; // Represents an MSP Admin CLIENT = 2; // Represents an MSP Client PEER = 3; // Represents an MSP Peer + ORDERER = 4; // Represents an MSP Orderer } // MSPRoleType defines which of the available, pre-defined MSP-roles