每当我们尝试运行fabric-ca-client
时,都会出现此错误。下面的示例:
# fabric-ca-client register --url https://ica-org:7054 --id.name user-org --id.affiliation=org
2019/03/19 20:18:07 [INFO] Configuration file location: /home/fabric-ca-client-config.yaml
2019/03/19 20:18:07 [INFO] TLS Enabled
2019/03/19 20:18:07 [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
我们如何解决这个问题?
答案 0 :(得分:1)
当fabric-ca-client
找不到任何X509或Idemix身份时,会发生这种情况。 fabric-ca-client
需要使用身份进行初始化(除非用于enroll
用户)。它首先尝试从mspdir
文件中指定的fabric-ca-client-config.yaml
位置或-M
命令行参数中加载X509身份,该位置优先于配置文件中的mspdir
。如果无法找到X509身份,它将寻找idemix身份。如果此操作同样失败,则会显示相关错误。
对于X509身份:
signcerts
keystore
cacerts
文件夹中(如果使用了中间ca,则其证书必须位于intermediatecerts
中)以上所有文件夹都位于mspdir
答案 1 :(得分:0)
由于您使用 TLS,因此在使用 --tls.certfiles
命令时应该使用 FABRIC_CA_CLIENT_TLS_CERTFILES
标志或设置 fabric-ca-client
环境变量。这应该包含您组织的 TLS 证书的完整路径。
答案 2 :(得分:0)
来自超级账本列表:
发出fabric-ca-client identity list命令的解析如下:
使用 CA 选项启动网络
./network.sh up -ca
网络启动后,导航到(假设您已经在 test-network 目录中):
cd organizations/peerOrganizations/org1.example.com
使用此命令导出证书路径:
export FABRIC_CA_CLIENT_TLS_CERTFILES=$PWD/ca/ca.org1.example.com-cert.pem
使用以下命令导出 fabric-ca-client home:
export FABRIC_CA_CLIENT_HOME=$PWD
发出以下命令:
fabric-ca-client identity list