【问题标题】:MSP error: the supplied identity is not valid: x509: certificate signed by unknown authority Hyperledger FabricMSP 错误:提供的身份无效:x509:证书由未知权威 Hyperledger Fabric 签名
【发布时间】:2020-01-31 15:19:11
【问题描述】:

我首先使用cryptogen 生成加密材料,然后启动,例如org1 CA 服务器,如下所示:

fabric-ca-server start --ca.certfile $(ls crypto-config/peerOrganizations/org1/ca/*.pem) --ca.keyfile $(ls crypto-config/peerOrganizations/org1/ca/*_sk) -d -b admin:adminpw --port 7054

从 NodeJS SDK 我可以注册管理员并注册(和注册)新用户。但是当我尝试使用这些新的用户凭据甚至管理员凭据访问 Fabric 网络时,我在 SDK 控制台上收到以下错误:

root@peer0:/var/hyperledger/api# ts-node src/invoke.ts 
Wallet path: /var/hyperledger/api/wallet
2019-10-08T13:32:17.819Z - warn: [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:0 - endorsement failed - Error: 2 UNKNOWN: access denied: channel [private-channel] creator org [Org1MSP]
2019-10-08T13:32:17.826Z - warn: [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:0 - endorsement failed - Error: 2 UNKNOWN: access denied: channel [private-channel] creator org [Org1MSP]
2019-10-08T13:32:17.833Z - warn: [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G1:0 - endorsement failed - Error: 2 UNKNOWN: access denied: channel [private-channel] creator org [Org1MSP]
2019-10-08T13:32:17.841Z - warn: [DiscoveryEndorsementHandler]: _build_endorse_group_member >> G1:0 - endorsement failed - Error: 2 UNKNOWN: access denied: channel [private-channel] creator org [Org1MSP]
Failed to submit transaction: Error: Endorsement has failed

peer 日志说:

MSP error: the supplied identity is not valid: x509: certificate signed by unknown authority.

我在对等 CLI 容器和 SDK 中使用完全相同的凭据。我可以从 CLI 执行所有链代码操作,但为什么对等方不接受来自 SDK 的连接?

FABRIC_CA_SERVER_CA_NAME 和它有什么关系吗? cryptogen 是否也为 CA 服务器创建 FABRIC_CA_SERVER_CA_NAME?如果是这样,对等凭证是否与 CA 名称相关联?在 NodeJS SDK 中,我尝试了 caName=ca-org1caName=ca.org1,但仍然遇到同样的错误。

【问题讨论】:

    标签: hyperledger-fabric hyperledger-fabric-ca


    【解决方案1】:

    我遇到了这个(或非常类似的问题)并设法解决了它。我的问题是 fabric-ca-server start 命令中的 .pem 和私钥文件的路径不正确。

    如果路径不正确,当 CA 容器启动时,它将无法找到您的文件(由 cryptogen 生成),因此会生成自己的文件。

    注册和注册脚本会根据您的 cryptogen 材料生成身份,这是正确的,但它们不是您的 CA 决定为您生成的证书。

    要检查是否发生了这种情况,请查看 CA 日志:

    docker logs <your ca container>

    在服务器启动的顶部附近,查找有关丢失密钥的消息或有关生成文件的消息。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-29
      • 2018-04-22
      • 2021-02-08
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      相关资源
      最近更新 更多