Hyperledger fabric 如何更改ca服务器HLF上的从属关系名称?

Hyperledger fabric 如何更改ca服务器HLF上的从属关系名称?,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,基于Hyperledger Fabric First Network(v1.4),我将名称更改为对等方、组织、CA等。容器上没有问题,生成证书的通道工作正常 #ca的docker-compose.yaml ca.NewOrg: 图像:hyperledger/fabric ca:$image\u标签 环境: -FABRIC\u CA\u HOME=/etc/hyperledger/FABRIC CA服务器 -FABRIC\u CA\u SERVER\u CA\u NAME=CA NewOrg -结

基于Hyperledger Fabric First Network(v1.4),我将名称更改为对等方、组织、CA等。容器上没有问题,生成证书的通道工作正常

#ca的docker-compose.yaml
ca.NewOrg:
图像:hyperledger/fabric ca:$image\u标签
环境:
-FABRIC\u CA\u HOME=/etc/hyperledger/FABRIC CA服务器
-FABRIC\u CA\u SERVER\u CA\u NAME=CA NewOrg
-结构\u CA\u服务器\u TLS\u已启用=真
-FABRIC\u CA\u SERVER\u TLS\u CERTFILE=/etc/hyperledger/FABRIC CA SERVER config/CA.NewOrg.example.com-cert.pem
-FABRIC\u CA\u SERVER\u TLS\u KEYFILE=/etc/hyperledger/FABRIC CA SERVER config/${byfn\u CA1\u PRIVATE\u KEY}
-结构\u CA\u服务器\u端口=7054
端口:
- "7054:7054"
命令:sh-c'fabric ca server start--ca.certfile/etc/hyperledger/fabric ca server config/ca.NewOrg.example.com-cert.pem--ca.keyfile/etc/hyperledger/fabric ca server config/${byfn_CA1_PRIVATE_KEY}-b NewOrg:NewOrgpw-d'
卷数:
-./crypto-config/peerOrganizations/NewOrg.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
容器名称:ca_peerNewOrg

管理员被罚款。但我无法注册用户。我正在使用NodeSDK注册它们

const secret=wait ca.register({隶属关系:orgname.toLowerCase()+'.department1',注册ID:username,角色:'client',adminIdentity);

但是如果我将
orgname.toLowerCase()+'.department1'
替换为
org1.department1
已注册

但是,需要使用新的组织名称,而不是org1、org2等


最后,这是本文的一部分

docker日志

Affiliation:MaxEnrollments:0 Attrs:map[hf.AffiliationMgr:1 hf.GenCRL:1 hf.mediateca:1 hf.registrator.DelegateRoles:*hf.registrator.Roles:*hf.Revoker:1]}}Affiliation:map[org1:[department1 department2]org2:[department1]]LDAP:{启用:假URL:LDAP://****:**:**:**:**:**:**:**://用户过滤器:(uid=%s)GroupFilter:(memberUid=%s)属性:{[uid member][{}]映射[groups:[{}]]}TLS:{false[]{}}}DB:{Type:sqlite3数据源:fabric-ca-server.DB TLS:{false[]{}}CSP:0xc0004f80a0客户端:中间:{ParentServer:{URL:CAName:}TLS:{Enabled:false-CertFiles:[]客户端:{KeyFile:CertFiles:}注册:{Name:Secret canarq:[]简介:Label:CSR:Type:x509}CRL:{Expiry:24h0m0s}emix:{issuerPubliceFile:IssuerSecretKeyfile:RevocationPublicKeyfile:RevocationPrivateKeyfile:RHPoolSize:1000非扩展:15s非扩展间隔:15m}
我可以看到
附属机构:地图[org1:[department1 department2]org2:[department1]]
,这是在fabric-ca中未设置从属关系时设置的默认值

#hyperledger/fabric ca/cmd/fabric ca server/config.go
#在“defaultCfgTemplate”值中
附属机构:
org1:
-部门1
-部门2
org2:
-部门1
换言之,从你目前的情况来看,你似乎没有单独添加从属关系

# default fabric ca's log
2020/12/17 10:16:56 [DEBUG] DB: Add affiliation org1
2020/12/17 10:16:56 [DEBUG] Affiliation 'org1' added
2020/12/17 10:16:56 [DEBUG] DB: Add affiliation org1.department1
2020/12/17 10:16:56 [DEBUG] Affiliation 'org1.department1' added
2020/12/17 10:16:56 [DEBUG] DB: Add affiliation org1.department2
2020/12/17 10:16:56 [DEBUG] Affiliation 'org1.department2' added
2020/12/17 10:16:56 [DEBUG] Successfully loaded affiliations table

这里有两种解决问题的方法。 1.结构ca环境变量设置 这可以通过设置初始设置来解决

有两件事要考虑:在织物CA关联的情况下,不能用DOCKER编写的<代码>织物CA服务器< /代码>的输入参数来设置,甚至不可能通过DOCKER COMPOSE的代码<环境> /代码>来设置。
为什么?

所以,我们只有一种方法。
使用配置文件进行初始设置

1-1)编写fabric-ca-server-config.yaml

  • 链接是fabric samples v2.0,但fabric ca没有更改,配置形式相同
#hyperledger/fabric samples/first network/fabric-ca-server-config.yaml
...
附属机构:
org1:
-部门1
-部门2
纽堡:
-考试部
...
1-2)更新docker-compose.yaml 我使用的1.4版与您的版本相匹配

#hyperledger/fabric samples/first network/docker-compose-ca.yaml
服务:
ca0:
图片:hyperledger/fabric ca:1.4
环境:
-FABRIC\u CA\u HOME=/etc/hyperledger/FABRIC CA服务器
-结构\u CA\u服务器\u CA\u名称=CA-org1
-结构\u CA\u服务器\u TLS\u已启用=真
-FABRIC\u CA\u SERVER\u TLS\u CERTFILE=/etc/hyperledger/FABRIC CA SERVER config/CA.org1.example.com-cert.pem
-结构\u CA\u服务器\u TLS\u密钥文件=/etc/hyperledger/FABRIC CA服务器配置/
-结构\u CA\u服务器\u端口=7054
端口:
- "7054:7054"
命令:sh-c'fabric ca server start--ca.certfile/etc/hyperledger/fabric ca server config/ca.org1.example.com-cert.pem--ca.keyfile/etc/hyperledger/fabric ca server config/-b admin:adminpw-d'
卷数:
#正在将fabric-ca-server-config.yaml文件装载到ca_peerOrg1容器的$fabric_ca_主路径
-./fabric ca-server config.yaml:/etc/hyperledger/fabric ca-server/fabric-ca-server-config.yaml
-./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
容器名称:ca_peerOrg1
网络:
-byfn
1-3)织物可卷起 1-4)检查结构CA的配置 结果

$docker日志可查看1
2020/12/17 10:41:05[调试]加载从属关系表
2020/12/17 10:41:05[调试]数据库:添加附属组织1
2020/12/17 10:41:05[调试]添加了附属机构“org1”
2020/12/17 10:41:05[调试]数据库:添加附属机构org1.department1
2020/12/17 10:41:05[调试]添加附属机构“组织1.部门1”
2020/12/17 10:41:05[调试]数据库:添加附属机构org1.department2
2020/12/17 10:41:05[调试]添加了附属机构“组织1.部门2”
2020/12/17 10:41:05[调试]数据库:添加隶属关系新组织
2020/12/17 10:41:05[调试]添加了隶属关系“neworg”
2020/12/17 10:41:05[调试]数据库:添加附属机构neworg.test\u部门
2020/12/17 10:41:05[调试]添加了隶属关系“neworg.test_department”
2020/12/17 10:41:05[调试]已成功加载附属表格
cd $GOPATH/src/github.com/hyperledger/fabric-samples/first-network && docker-compose -f ./docker-compose-ca.yaml up -d