2017-09-19 152 views
0

我试图Hyperledger作曲家连接到运行Fabric的部署,但我收到证书错误。下面是泊坞窗作曲家文件的摘录,以启动CA连接Hyperledger作曲家面料

extends: 
    file: base.yaml 
    service: ca-base 
container_name: ca.org1.example.com 
hostname: ca.org1.example.com 
environment: 
    - FABRIC_CA_SERVER_CA_NAME=ca-org1 
ports: 
    - "7054:7054" 
volumes: 
    - ./e2e_cli/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config 
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d' 

正如你可以看到CA启动时使用的证书,我已经尝试使用下面的命令导入到作曲家这一点;

作曲家身份导入-p org1 -u admin -c /home/a/BC/yeasy/hyperledger/1.0/e2e_cli/crypto-config/peerOrganizations/org1.example.com/ca/ca.org1.example。 COM-cert.pem -k /home/a/BC/yeasy/hyperledger/1.0/e2e_cli/crypto-config/peerOrganizations/org1.example.com/ca/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk

当我运行命令作曲家运行安装 - n ibor-network -p org1 -i admin -s adminpw(或任何作曲家命令)我收到类似于以下内容的错误; 错误:尝试安装chaincode时出错。错误:无法反序列化创造者的身份,宁可提供的身份不合法,验证()返回X509:证书由未知授权

任何想法如何得到这个工作签署?

这里是我的连接配置文件 { “类型”: “hlfv1”, “名”: “ORG1”, “orderers”:[{ “URL”:“GRPC://本地主机:7050 “ ”hostnameOverride“: ”orderer.example.com“ } ], ”CA“:{ ”URL“: ”http://localhost:7054“, ”名称“: ”CA-ORG1“ }, ” 同行“:[{ ”requestURL“: ”GRPC://本地主机:7051“, ”eventURL“:” GRPC://本地主机:7053“, ”hostnameOverride“:”peer0.org1.example.com“ }, { ”requestURL“:”grpc:// localhost:8051“, ”eventURL“:”grpc:// localhost: 8053" , “hostnameOverride”: “peer1.org1.example.com” } ], “keyValStore”: “/home/a/.composer-credentials”, “信道”: “businesschannel”, “ mspID“:‘Org1MSP’, ‘超时’:‘300’ }

回答

1

为了使用composer install runtime命令你需要有进口加密材料,是安装作曲家运行定义为您计划安装的对等方的管理员。如果您使用cryptogen结构,那么每个组织都定义一个管理员用户,您应该确保该组织中的每个对等人都使用该管理员用户(结构示例应该已经这样做)。也就是说用户可以在组织为同行的用户目录中找到,你需要公证书和私钥对composer identity import命令MSP /密钥存储在MSP/signcert文件。您可以调用该用户所喜欢的任何内容,但这是您为-i标志指定的用户。然后,您需要启动您的业务网络,因为您需要使用频道管理员身份。我敢肯定,所有的面料例子让同行管理员有渠道管理员,以及因此会使用composer network start并指定用户对于-i选项。这一切都取决于你如何设置你的网络,不幸的是,为了在更复杂的网络上作曲,你需要了解如何配置网络和频道,以便利用作曲者命令来适当地设置作曲家。

+0

谢谢@david_k,我设法通过找到signcert和keystore的正确组合来实现这个工作。如果有人想知道,我正在使用Yeasy的hyperledger图像(https://github.com/yeasy/docker-compose-files/tree/master/hyperledger/1.0)。出于某种原因,密钥库目录中有六个私有证书。我尝试了所有五个单独的,这是第五个组合工作! –