1

새로운 멤버를 블록 체인 네트워크에 인증하는 방법/기능이있는 Hyperledger 패브릭 클라이언트를 발견했습니다. 그러나 블록 체인 네트워크에서 어떻게 새로운 사용자를 채널로 인증 할 수 있는지 잘 모르겠습니다.새 참가자가 하이퍼 리드 패브릭의 채널에 인증되는 방법

하이퍼 디퍼 패브릭에서 채널 구성 (configtx)을 사용하여 새로운 참가자를 채널에 초대/등록 할 수 있습니까? 채널 구성에

링크 : http://hyperledger-fabric.readthedocs.io/en/latest/configtx.html#channel-creation

답변

1

당신이 직물-CA를 사용할 수 있습니다. Fabric-ca는 사용자 관리를위한 몇 가지 API를 제공합니다. 사용자는 fabric-ca를 사용하여 사용자를 등록, 취소, 등록, 재 등록 할 수 있습니다. fabric-ca에 대한 문서는 here입니다.

fabric-ca 서버를 설치 한 후 SDK가있는 fabric-ca 서버 (현재 node-sdk 및 java-sdk) 또는 fabric-ca 클라이언트와 상호 작용할 수 있습니다. java-sdk의 샘플은 here입니다. node-sdk의 샘플은 here입니다. 때마다 사용자의 호출이 클라이언트에서 또는 쿼리를 호출

그리고 chaincode 측

, 당신은 인증서를 읽을 수 있습니다. 다음은 샘플 코드입니다.

import( 
    "crypto/x509" 
    "encoding/pem" 
    "bytes" 
    "strings" 
    "github.com/hyperledger/fabric/core/chaincode/shim" 
) 

func parseCert(stub){ 
    creator, err := identityService.Stub.GetCreator() 
    if err != nil { 
     logger.Debug("Error received on GetCreator", err) 
     vm.PushErrorObjectVa(duktape.ErrError, "%s", err.Error()) 
     vm.Throw() 
     return 
    } 
    certStart := bytes.IndexAny(creator, "----BEGIN CERTIFICATE-----") 
    if certStart == -1 { 
     logger.Debug("No certificate found") 
     return 
    } 
    certText := creator[certStart:] 
    block, _ := pem.Decode(certText) 
    if block == nil { 
     logger.Debug("Error received on pem.Decode of certificate", certText) 
     return 
    } 

    ucert, err := x509.ParseCertificate(block.Bytes) 
    if err != nil { 
     logger.Debug("Error received on ParseCertificate", err) 
     return 
    } 

    logger.Debug("Common Name", ucert.Subject.CommonName) 

} 
관련 문제