结构 CA 请求注册失败,出现错误 [[ { 代码:71,消息:'授权失败' } ]]

时间:2021-06-28 12:51:03

标签: node.js hyperledger-fabric hyperledger-fabric-ca

无法为组织制造商注册用户名 NpPharma,使用::fabric-ca 请求注册失败,错误为 [[ { 代码:71,消息:'授权失败'} ]]

connection-manufacturer.js ->

{
"name": "artifacts-test-manufacturer",
"version": "1.0.0",
"client": {
    "organization": "Manufacturer",
    "connection": {
        "timeout": {
            "peer": {
                "endorser": "300"
            }
        }
    }
},
"organizations": {
    "Manufacturer": {
        "mspid": "ManufacturerMSP",
        "peers": [
            "peer0.manufacturer.example.com"
        ],
        "certificateAuthorities": [
            "ca.manufacturer.example.com"
        ]
    }
},
"peers": {
    "peer0.manufacturer.example.com": {
        "url": "grpcs://localhost:7051",
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICFjCCAb2gAwIBAgIUfSBE3AfoXkd1J2DH099Ph7qDRCswCgYIKoZIzj0EAwIw\naDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQK\nEwtIeXBlcmxlZGdlcjEPMA0GA1UECxMGRmFicmljMRkwFwYDVQQDExBmYWJyaWMt\nY2Etc2VydmVyMB4XDTIxMDYyODA1MDcwMFoXDTM2MDYyNDA1MDcwMFowaDELMAkG\nA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBl\ncmxlZGdlcjEPMA0GA1UECxMGRmFicmljMRkwFwYDVQQDExBmYWJyaWMtY2Etc2Vy\ndmVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYUwcogIc3Ak1dOhOzMckSIjR\ndLKVqTbZ0QWjLkDcOvq+oQh7cs+CyD5s1R3/1ZODwurBK3lCXVlniqLNworKkqNF\nMEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYE\nFOUbZrmE75EWUa81CpKexV8IIDDWMAoGCCqGSM49BAMCA0cAMEQCIGAHQ9ml2+br\n28ccvSIN5wSiKFL7l//Hs9IFOcL9M4YSAiAxnXMCEoakRT3sih16KDTU8FV6ezIa\nFTDhFDO5DzeKVg==\n-----END CERTIFICATE-----\n"
        },
        "grpcOptions": {
            "ssl-target-name-override": "peer0.manufacturer.example.com",
            "hostnameOverride": "peer0.manufacturer.example.com"
        }
    }


},
"certificateAuthorities": {
    "ca.manufacturer.example.com": {
        "url": "https://localhost:7054",
        "caName": "ca.manufacturer.example.com",
        "tlsCACerts": {
            "pem": "-----BEGIN CERTIFICATE-----\nMIICFjCCAb2gAwIBAgIUfSBE3AfoXkd1J2DH099Ph7qDRCswCgYIKoZIzj0EAwIw\naDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQK\nEwtIeXBlcmxlZGdlcjEPMA0GA1UECxMGRmFicmljMRkwFwYDVQQDExBmYWJyaWMt\nY2Etc2VydmVyMB4XDTIxMDYyODA1MDcwMFoXDTM2MDYyNDA1MDcwMFowaDELMAkG\nA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMRQwEgYDVQQKEwtIeXBl\ncmxlZGdlcjEPMA0GA1UECxMGRmFicmljMRkwFwYDVQQDExBmYWJyaWMtY2Etc2Vy\ndmVyMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYUwcogIc3Ak1dOhOzMckSIjR\ndLKVqTbZ0QWjLkDcOvq+oQh7cs+CyD5s1R3/1ZODwurBK3lCXVlniqLNworKkqNF\nMEMwDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYE\nFOUbZrmE75EWUa81CpKexV8IIDDWMAoGCCqGSM49BAMCA0cAMEQCIGAHQ9ml2+br\n28ccvSIN5wSiKFL7l//Hs9IFOcL9M4YSAiAxnXMCEoakRT3sih16KDTU8FV6ezIa\nFTDhFDO5DzeKVg==\n-----END CERTIFICATE-----\n"
        },
        "httpOptions": {
            "verify": false
        }
    }
}

}

注册用户的函数

const ca = new FabricCAServices(caInfo.url, { trustedRoots: caTLSCACerts, verify: false }, caInfo.caName);
const secret = await ca.register({
      affiliation: 'manufacturer.department1',
      enrollmentID: username,
      role: 'client'
    }, adminUser);

1 个答案:

答案 0 :(得分:0)

首先,您需要确保已创建从属关系 manufacturer.department1。在 Fabric CA 初始化并运行后,您可以通过将其包含在 fabric-ca-server-config.yaml 文件中或通过 CLI(或 SDK 之一)进行创建来创建从属关系。

要将其包含在您的 config 中,您需要添加一个像

affiliations:
   manufacturer:
      - department1
  

到您的 Fabric CA 服务器配置文件。

create the affiliation with the CLI

fabric-ca-client affiliation add manufacturer.department1

您还需要确保管理员用户的 hf.AffiliationMgr 属性设置为 true。管理员还必须将其隶属关系设置为 ""(意味着管理员可以管理所有隶属关系)或特定隶属关系或其任何父级。默认管理员用户可以管理所有从属关系。