拒绝访问:hyperledger fabric channel.initialize()

问题描述 投票:0回答:1

我正在使用java sdk并在初始化通道时出错。

        Channel mychannel = fabClient.getInstance().newChannel(Config.CHANNEL_NAME);
        Orderer orderer = fabClient.getInstance().newOrderer(Config.ORDERER_NAME, Config.ORDERER_URL);
        Peer peer0_org1 = fabClient.getInstance().newPeer(Config.ORG1_PEER_0, Config.ORG1_PEER_0_URL);
        Peer peer1_org1 = fabClient.getInstance().newPeer(Config.ORG1_PEER_1, Config.ORG1_PEER_1_URL);
        mychannel.addOrderer(orderer);
        mychannel.addPeer(peer0_org1);
        mychannel.addPeer(peer1_org1);
        mychannel.initialize();

我收到以下错误。

ERROR Channel - Sending proposal to peer0.org1.example.com failed because of: gRPC failure=Status{code=UNKNOWN, description=access denied: channel [mychannel] creator org [Org1MSP], cause=null} java.lang.Exception: io.grpc.StatusRuntimeException: UNKNOWN: access denied: channel [mychannel] creator org [Org1MSP]

Caused by: org.hyperledger.fabric.sdk.exception.TransactionException: org.hyperledger.fabric.sdk.exception.ProposalException: getConfigBlock for channel mychannel failed with peer peer1.org1.example.com. Status FAILURE, details: Sending proposal to peer1.org1.example.com failed because of: gRPC failure=Status{code=UNKNOWN, description=access denied: channel [mychannel] creator org [Org1MSP], cause=null}

java hyperledger-fabric hyperledger
1个回答
0
投票

这表示Fabric CA Server用于颁发证书的签名CA证书与用于进行授权检查的MSP的cacerts或intermediatecerts文件夹中的证书不匹配。

用于进行授权检查的MSP取决于发生错误时您正在执行的操作。例如,如果您尝试在对等方上安装链代码,则使用对等方文件系统上的本地MSP;否则,如果您正在执行某些通道特定操作,例如在特定通道上实例化链码,则使用创世块中的MSP或通道的最新配置块。

这可能由于多种原因而发生,包括:

  • 您使用cryptogen生成密钥材料,但没有使用由cryptogen生成的签名密钥和证书启动fabric-ca-server。
    • 停止fabric-ca-server。
    • 将crypto-config / peerOrganizations // ca /​​ * pem复制到$ FABRIC_CA_SERVER_HOME / ca-cert.pem。
    • 将crypto-config / peerOrganizations // ca /​​ * _ sk复制到$ FABRIC_CA_SERVER_HOME / msp / keystore /。
    • 启动fabric-ca-server。
    • 删除任何以前发布的注册证书,并通过再次注册获取新证书。
  • 在生成创建块后,您删除并重新创建了Fabric CA Server使用的CA签名密钥和证书。如果Fabric CA Server在docker容器中运行,容器已重新启动且其主目录不在卷装入上,则会发生这种情况。在这种情况下,Fabric CA Server将创建新的CA签名密钥和证书。
© www.soinside.com 2019 - 2024. All rights reserved.