频道创建由于设置orderer.tls.clientKey.file不存在而失败

时间:2020-06-30 16:25:51

标签: hyperledger-fabric

我正在尝试使用Kubernetes中的CLI容器创建一个通道。但是,它失败并显示以下错误消息:
Error: failed to create deliver client for orderer: failed to load config for OrdererClient: unable to load orderer.tls.clientKey.file: open : no such file or directory command terminated with exit code 1

我到处搜索orderer.tls.clientKey.file设置-没有成功。

问题:该设置应位于何处?
我已经在CLI和订购者处将其作为环境变量进行了尝试,并且在对等方的orderer文件中引入了一个新的core.yaml部分-一切都失败了。

启用TLS,客户端身份验证和NodeOU(如果这很重要)。
HLF版本2.1

频道创建命令:

export CORE_PEER_MSPCONFIGPATH=/config/admin/msp
peer channel create -c channel1 -f /config/peer/channel1.tx -o org1-orderer:30011 --outputBlock /channels/channel1.block --clientauth --tls --cafile /config/peer/tls-msp/tlscacerts/ca-cert.pem

CLI环境变量:

env:
  - name: FABRIC_LOGGING_SPEC
    value: grpc=debug
  - name: CORE_PEER_ID
    value: org1-cli
  - name: CORE_PEER_ADDRESS
    value: org1-peer1:30151
  - name: CORE_PEER_LOCALMSPID
    value: Org1MSP
  - name: CORE_PEER_TLS_ENABLED
    value: "true"
  - name: CORE_PEER_TLS_ROOTCERT_FILE
    value: /config/peer/tls-msp/tlscacert/ca-cert.pem
  - name: CORE_PEER_TLS_CLIENTAUTHREQUIRED
    value: "true"
  - name: CORE_PEER_TLS_CLIENTCERT_FILE
    value: /config/peer/tls-msp/signcerts/cert.pem
  - name: CORE_PEER_TLS_CLIENTKEY_FILE
    value: /config/peer/tls-msp/keystore/key.pem
  - name: CORE_PEER_MSPCONFIGPATH
    value: /config/peer/msp

1 个答案:

答案 0 :(得分:2)

我假设您想要Mutual TLS,就像服务器和客户端身份验证一样。如果是这种情况,那么(我认为)您需要一个包含PEM编码的私钥的密钥文件,以便在两个地方用于与订购者端点进行相互TLS通信:像您一样的CLI环境变量,以及在create channel命令本身中

  • 在CLI命令中尝试--keyfile <Path to file containing PEM-encoded private key>