Hyperledger fabric Hyperledger结构:注册检查失败:Idemix注册信息不存在

Hyperledger fabric Hyperledger结构:注册检查失败:Idemix注册信息不存在,hyperledger-fabric,Hyperledger Fabric,每当尝试运行fabric ca客户端时,都会出现此错误。示例如下: # 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

每当尝试运行fabric ca客户端时,都会出现此错误。示例如下:

# 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
如何解决此问题?

当fabric ca客户端找不到任何X509或Idemix标识时,会发生这种情况。结构ca客户端需要使用标识进行初始化,但用于注册用户时除外。它首先尝试从fabric-ca-client-config.yaml文件中指定的mspdir位置或-M命令行参数加载X509标识,该参数优先于配置文件中的mspdir。如果它无法找到X509标识,它将查找idemix标识。如果此操作也失败,则会显示有问题的错误

对于X509标识:

其公共证书需要在signcerts中 私钥需要在密钥库中 并且颁发公钥/私钥对的机构的公共证书需要位于cacerts文件夹中。如果使用了中间ca,则其证书需要位于中间证书中 上面的所有文件夹都在mspdir下

当fabric ca客户端找不到任何X509或Idemix标识时,会发生这种情况。结构ca客户端需要使用标识进行初始化,但用于注册用户时除外。它首先尝试从fabric-ca-client-config.yaml文件中指定的mspdir位置或-M命令行参数加载X509标识,该参数优先于配置文件中的mspdir。如果它无法找到X509标识,它将查找idemix标识。如果此操作也失败,则会显示有问题的错误

对于X509标识:

其公共证书需要在signcerts中 私钥需要在密钥库中 并且颁发公钥/私钥对的机构的公共证书需要位于cacerts文件夹中。如果使用了中间ca,则其证书需要位于中间证书中
上面的所有文件夹都在mspdir下,因为您使用TLS,所以在使用FABRIC CA CLIENT命令时,您应该使用-TLS.certfiles标志或设置FABRIC_CA_CLIENT_TLS_certfiles环境变量。这应该保留组织TLS证书的完整路径。

由于您使用TLS,因此在使用FABRIC CA CLIENT命令时,您应该使用-TLS.certfiles标志或设置FABRIC_CA_CLIENT_TLS_certfiles环境变量。这应该包含组织TLS证书的完整路径。

从Hyperledger列表:

发出fabric ca客户端标识列表命令的解决方案如下:

使用CA选项启动网络

./network.sh up -ca
网络启动后,导航到假设您已经在测试网络目录中:

cd organizations/peerOrganizations/org1.example.com
使用以下命令导出证书路径:

export FABRIC_CA_CLIENT_TLS_CERTFILES=$PWD/ca/ca.org1.example.com-cert.pem
export FABRIC_CA_CLIENT_HOME=$PWD
使用以下命令导出结构ca客户端主页:

export FABRIC_CA_CLIENT_TLS_CERTFILES=$PWD/ca/ca.org1.example.com-cert.pem
export FABRIC_CA_CLIENT_HOME=$PWD
发出以下命令:

fabric-ca-client identity list
从超级分类账列表:

发出fabric ca客户端标识列表命令的解决方案如下:

使用CA选项启动网络

./network.sh up -ca
网络启动后,导航到假设您已经在测试网络目录中:

cd organizations/peerOrganizations/org1.example.com
使用以下命令导出证书路径:

export FABRIC_CA_CLIENT_TLS_CERTFILES=$PWD/ca/ca.org1.example.com-cert.pem
export FABRIC_CA_CLIENT_HOME=$PWD
使用以下命令导出结构ca客户端主页:

export FABRIC_CA_CLIENT_TLS_CERTFILES=$PWD/ca/ca.org1.example.com-cert.pem
export FABRIC_CA_CLIENT_HOME=$PWD
发出以下命令:

fabric-ca-client identity list