Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hyperledger fabric Hyperledger结构使用用户基本角色类型查询fabcar错误访问被拒绝_Hyperledger Fabric_Hyperledger_Hyperledger Fabric Ca - Fatal编程技术网

Hyperledger fabric Hyperledger结构使用用户基本角色类型查询fabcar错误访问被拒绝

Hyperledger fabric Hyperledger结构使用用户基本角色类型查询fabcar错误访问被拒绝,hyperledger-fabric,hyperledger,hyperledger-fabric-ca,Hyperledger Fabric,Hyperledger,Hyperledger Fabric Ca,我使用farbic CA服务器注册客户端、成员、使用farbic节点的对等方。 在注册过程中,我传递的角色类型为User、Memeber和Client。之后,我注册了在钱包中创建证书、私钥和公钥的软件。我已经设置了结构网络,peer已经加入了通道,甚至我已经安装并启动了fabcar 我的问题是 如果我使用角色类型客户端注册并注册用户,我可以查询fabcar链码,但如果我使用角色类型成员注册用户,则会出现“给我”错误 会员、客户和用户之间的区别是什么 channel[channel all]:创建

我使用farbic CA服务器注册客户端、成员、使用farbic节点的对等方。 在注册过程中,我传递的角色类型为User、Memeber和Client。之后,我注册了在钱包中创建证书、私钥和公钥的软件。我已经设置了结构网络,peer已经加入了通道,甚至我已经安装并启动了fabcar

我的问题是 如果我使用角色类型客户端注册并注册用户,我可以查询fabcar链码,但如果我使用角色类型成员注册用户,则会出现“给我”错误

会员、客户和用户之间的区别是什么

channel[channel all]:创建者证书无效:无法验证标识的OU:标识必须是有效的客户端、对等方、订购方或管理员标识,而不是它们的组合

Configtx.yaml文件我已经提到了策略类型

- &Org1
    # DefaultOrg defines the organization which is used in the sampleconfig
    # of the fabric.git development environment
    Name: Org1MSP

    # ID to load the MSP definition as
    ID: Org1MSP

    MSPDir: crypto-config/peerOrganizations/org1.avantas.com/msp

    # Policies defines the set of policies at this level of the config tree
    # For organization policies, their canonical path is usually
    #   /Channel/<Application|Orderer>/<OrgName>/<PolicyName>
    Policies:
        Readers:
            Type: Signature
            Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'Org1MSP.client', 'Org1MSP.member')"
        Writers:
            Type: Signature
            Rule: "OR('Org1MSP.admin', 'Org1MSP.client', 'Org1MSP.member')"
        Admins:
            Type: Signature
            Rule: "OR('Org1MSP.admin')"

    # leave this flag set to true.
    AnchorPeers:
        # AnchorPeers defines the location of peers which can be used
        # for cross org gossip communication.  Note, this value is only
        # encoded in the genesis block in the Application section context
        - Host: peer0.org1.avantas.com
          Port: 7051
-&Org1
#DefaultOrg定义sampleconfig中使用的组织
#fabric.git开发环境的
名称:Org1MSP
#将MSP定义加载为的ID
ID:Org1MSP
MSPDir:crypto-config/peerOrganizations/org1.avantas.com/msp
#策略在配置树的这个级别定义策略集
#对于组织策略,其规范路径通常为
#/频道///
政策:
读者:
类型:签名
规则:“或('Org1MSP.admin','Org1MSP.peer','Org1MSP.client','Org1MSP.member')”
作者:
类型:签名
规则:“或('Org1MSP.admin','Org1MSP.client','Org1MSP.member')”
管理员:
类型:签名
规则:“或('Org1MSP.admin')”
#将此标志设置为true。
主持人:
#主持人定义可以使用的对等点的位置
#用于跨组织的闲聊交流。注意,此值仅为
#编码在应用程序部分上下文中的genesis块中
-主持人:peer0.org1.avantas.com
港口:7051
@fama

注册管理员时使用下面的“我的属性”

"type":"user",
"affiliation":"orgName",
"attributes":[{
"name":"admin","value":"true","ecert":true
},
并在下面进行更正

Policies:
    Readers:
        Type: Signature
        Rule: "OR('Org1MSP.member')"
    Writers:
        Type: Signature
        Rule: "OR('Org1MSP.member')"
    Admins:
        Type: Signature
        Rule: "OR('Org1MSP.admin')"

感谢您的重播,我尝试了此操作,但仍然出现相同的错误,channel[channelall]:创建者证书无效:无法验证标识的OU:标识必须是有效的客户端、对等方、订购方或管理员标识,而不是它们的组合。OUs:[[0xc00302ba70 0xc00302baa0 0xc00302bad0 0xc00302bb00]],MSP:[Org1MSP]您是否也更改了策略?命令:sh-c'fabric ca server start-b admin-org1:adminpw-d,当我使用docker容器启动fabric ca时,我正在运行此命令。这是ca管理iam询问组织管理“参数”:{“用户”:“admin-org1”,“密码”:“管理组织”,“角色类型”:“用户”,“从属关系”:“org1.avantas.com”,“admin”:“admin-org1”,“属性”:[{“名称”:“admin”,“值”:“true”,“ecert”:“true”}]}