あなたはファブリック-CAを使用することができます。 Fabric-caは、ユーザー管理のためのいくつかのAPIを提供します。あなたは、ファブリックcaによってユーザーを登録、取り消し、登録、再登録することができます。また、fabric-caのドキュメントはhereです。
ファブリックcaサーバーを設定すると、SDK(現在はnode-sdkおよびjava-sdk)またはfabric-caクライアントを備えたファブリック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)
}