无法为组织制造商注册用户名 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);
答案 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。管理员还必须将其隶属关系设置为 ""
(意味着管理员可以管理所有隶属关系)或特定隶属关系或其任何父级。默认管理员用户可以管理所有从属关系。