首页 > 解决方案 > 关于通过在 Hyperledger Fabric 中注册为 Nodejs 客户端创建的管理员/用户身份

问题描述

关于nodejs客户端注册过程创建的客户端/用户身份,我有以下查询。当我尝试注册身份时,fabric-ca 会为该特定用户颁发证书。颁发给该客户的证书具有以下属性。

证书信息: 通用名称:admin 组织单位:client 有效期:2020 年 5 月 6 日 有效期至:2021 年 5 月 6 日 颁发者:fabric-ca-server, Hyperledger

现在,当我尝试使用相同的身份来安装和实例化链代码或通过 TestAPI 与结构运行时交互时,它会抛出以下错误:

2020-05-05 18:35:06.670 UTC [protoutils] ValidateProposalMessage -> WARN 0e4 channel [ichannel]:MSP 错误:提供的身份无效:x509:证书由未知机构签名

我已经使用 cryptogen 工具为所有组织创建了加密证书。这些证书由 network-config.yaml 文件中定义的证书颁发机构颁发。我怀疑证书颁发者的差异会导致身份问题。请让我知道我的理解是否正确。

如果是,那么我如何确保这些 nodejs 客户端证书被 network-config.yaml 文件中定义的相同证书颁发机构使用。

标签: node.jshyperledger-fabrichyperledger

解决方案


我能够通过更新 docker-compose 文件中的证书颁发机构环境变量来解决此问题。早些时候,他们没有从/etc/hyperledger/fabric-ca-server-config/位置中挑选出来。在重新生成加密配置并重新启动整个网络之前,我确实更新了所有证书颁发机构的以下环境变量的路径:

  • FABRIC_CA_SERVER_CA_KEYFILE
  • FABRIC_CA_SERVER_CA_CERTFILE

注意:网络内部禁用了 TLS 配置。

这对我有用。


推荐阅读