问题描述
我正在使用密码原生成我正在构建的Fabric网络的所有密码资料。我可以成功地建立网络并部署链码。但是,尝试注册新用户时遇到问题。我将跟着资产转移私有数据教程一起学习,并在部署了链码之后运行
fabric-ca-client register --caname ca.org1 --id.name org1-client --id.secret org1-password --id.type client --mspdir ./config/crypto-config/peerOrganizations/org1/msp
并得到错误
2020/10/03 12:20:11 [INFO] Configuration file location: /home/user/network3.2/config/crypto-config/peerOrganizations/org1/fabric-ca-client-config.yaml
2020/10/03 12:20:11 [ERROR] Enrollment check Failed: Idemix enrollment information does not exist
Error: Enrollment information does not exist. Please execute enroll command first. Example: fabric-ca-client enroll -u http://user:userpw@serverAddr:serverPort
没有fabric-ca-client-config.yaml文件。我指定的mspdir具有根据Hyperledger Fabric: Enrollment check failed: Idemix enrollment information does not exist需要的目录signcerts,keystore和cacerts。但是,signcerts和keystore目录都为空,而它们应分别包含公共证书和私钥。
解决方法
对于Idemix,您可以使用idemixgen工具。
但是,cryptogengen工具和idemixgen工具都用于测试目的。对于生产级别的使用,必须使用Hyperledger Fabric CA。
cryptogen是用于生成Hyperledger Fabric密钥材料的实用程序。它是作为用于测试目的预先配置网络的一种方式。通常不会在生产网络的运营中使用它。
, cryptogen
是一个实用程序,可让您快速生成加密材料来开始工作。它与Fabric CA没有直接关系(有意地)。
您唯一可以做的就是利用为每个组织(在ca
文件夹下)生成的CA密钥对作为启动Fabric CA实例时使用的根密钥对。