2017-09-19 7 views
0

Hyperledger Composer를 실행중인 패브릭 배포에 연결하려고하지만 인증서 오류가 발생합니다. 다음은 CA가, 내가 명령을 사용하여 작곡가로이 가져 오기 시도 인증서로 시작되었다 볼 수 있듯이 CAHyperledger Composer를 패브릭에 연결

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' 

을 시작하는 고정 표시기 작곡가 파일의 추출물이다;

작곡가 ID 가져 오기 -p org1 -u admin -c /home/a/BC/ye/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 (또는 모든 composer 명령) 다음과 유사한 오류가 표시됩니다. 오류 : 설치 chaincode를 시도하는 중 오류가 발생했습니다. 오류 : 작성자 ID를 직렬화 해제하지 못했습니다. 제공된 ID가 유효하지 않습니다. Verify()가 반환되었습니다. x509 : 알 수없는 기관에서 서명 한 인증서

아이디어가 작동하려면 어떻게해야합니까? "hlfv1" "이름": 여기

내 연결 프로파일 { "유형"은 "org1" "orderers"[ { "URL": "grpc : // localhost를 : 7050 " "hostnameOverride ":"orderer.example.com " } , "캘리포니아 ": { "URL ":" http://localhost:7054 " "이름 ":"CA-org1 " }, "동료 ": [ { "requestURL ":"grpc : // localhost : 7051 ", "eventURL ":"grpc : // localhost : 7053 ", "hostnameOverride ":"peer0.org1.example.com " 을}, { "requestURL ":"grpc : // 로컬 호스트 : 8051 ", "eventURL ":"grpc : // localhost를 : 8053 ", "hostnameOverride ":"peer1.org1.example.com " } ] "keyValStore ":"/home/a/.composer-credentials " "채널 ":"businesschannel " " MSPID ":"Org1MSP " "타임 아웃 ":"300 " }

답변

1

당신은 암호화 물질을 가져온 데 필요한 composer install runtime 명령을 사용하여 작곡가 런타임을 설치하려면 설치할 피어에 대한 관리자로 정의됩니다. cryptogen 구조를 사용하는 경우 각 조직은 관리 사용자를 정의합니다.이 사용자는 해당 조직의 동료 각각이 해당 관리 사용자를 사용하는지 확인해야합니다 (fabric 예제는 이미이 작업을 수행해야합니다). 해당 사용자는 피어에 대한 조직의 users 디렉토리에서 찾을 수 있습니다. 공용 인증서의 경우 msp/signcert 파일에 composer identity import 명령의 개인 키에 대한 msp/keystore 파일이 필요합니다. 해당 사용자를 원하는대로 호출 할 수 있지만 -i 플래그에 대해 지정한 사용자입니다. 그런 다음 채널 관리자 ID를 사용해야하므로 비즈니스 네트워크를 시작해야합니다. 나는 모든 직물 예제가 피어 관리자 채널 관리자들도 만들 것이라고 확신하므로 composer network start을 사용하고 -i 옵션에 해당 사용자를 지정할 것입니다.모두 네트워크 설정 방법에 달려 있습니다. 불행히도 더 복잡한 네트워크에서 작곡가가 작곡가 명령을 사용하여 작곡가 명령을 적절하게 사용하도록 네트워크 및 채널을 구성한 방법을 이해해야합니다.

+0

감사합니다. @david_k, 나는 signcert와 keystore의 올바른 조합을 찾아서이 문제를 해결할 수있었습니다. 누가 궁금해하는 경우, 나는 Yeasy의 초 저지 이미지 (https://github.com/yeasy/docker-compose-files/tree/master/hyperledger/1.0)를 사용하고있었습니다. 어떤 이유로 키 저장소 디렉토리에 6 개의 개인 인증서가있었습니다. 저는 개인적으로 5 번 모두 시도해 보았습니다. 그리고 그것은 다섯 번째 조합이었습니다! –

관련 문제