Hyperledger fabric 签名集不满足策略要求

Hyperledger fabric 签名集不满足策略要求,hyperledger-fabric,hyperledger-chaincode,Hyperledger Fabric,Hyperledger Chaincode,我已经创建了一个包含2个RG的网络,每个RG都有1个EER和1个CA 设置EnableNodeOUs:true后,我用“AND('Org1MSP.peer','Org2MSP.peer')实例化了契约,这很好。“和('Org1MSP.member'、'Org2MSP.member')”的含义相同 但将策略设置为“AND('Org1MSP.client'、'Org2MSP.client')后,会出现以下错误: peer0.org2.example.com|2020-01-30 07:21:49.7

我已经创建了一个包含2个RG的网络,每个RG都有1个EER和1个CA

设置EnableNodeOUs:true后,我用“AND('Org1MSP.peer','Org2MSP.peer')实例化了契约,这很好。“和('Org1MSP.member'、'Org2MSP.member')”的含义相同

但将策略设置为“AND('Org1MSP.client'、'Org2MSP.client')后,会出现以下错误:

peer0.org2.example.com|2020-01-30 07:21:49.745 UTC [vscc] Validate -> ERRO 07c VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
peer0.org2.example.com|2020-01-30 07:21:49.745 UTC [committer.txvalidator] validateTx -> ERRO 07d VSCCValidateTx for transaction txId = fd5124b081e92586f091f54e517030ebaeb28fddc71428df32c82cce636a94cd returned error: validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
peer0.org1.example.com|2020-01-30 07:21:49.745 UTC [vscc] Validate -> ERRO 086 VSCC error: stateBasedValidator.Validate failed, err validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
peer0.org1.example.com|2020-01-30 07:21:49.745 UTC [committer.txvalidator] validateTx -> ERRO 087 VSCCValidateTx for transaction txId = fd5124b081e92586f091f54e517030ebaeb28fddc71428df32c82cce636a94cd returned error: validation of endorsement policy for chaincode mycc in tx 9:0 failed: signature set did not satisfy policy
这是我的config.yml文件

NodeOUs:
  Enable: true
  ClientOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: client
  PeerOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: peer
  AdminOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: admin
  OrdererOUIdentifier:
    Certificate: cacerts/ca.org1.example.com-cert.pem
    OrganizationalUnitIdentifier: orderer


提前感谢

如评论中所述,您提交启动事务时使用的身份类型为“admin”。但是,您的策略要求标识类型为“客户端”。因此,这是一个错误


若要解决此问题,您需要创建标识类型为“客户端”的标识,并使用该标识的msp提交初始化事务。

提交实例化事务时使用的标识是什么?/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/无国界医生。这是org1的管理员。启用节点后,根据管理员的msp文件中的config.yml,并非所有标识都相同。我将在我的问题中对其进行编辑,以便您可以看看这是我从这篇文章的答案中得到的:如果我弄错了,如何使用cryptogen工具生成客户身份?