繁体   English   中英

如何在Hyperledger v1.0中获取和使用用户的公钥/私钥?

[英]How do I get and use the public/private keys of users in Hyperledger v1.0?

我了解到在Hyperledger v1中,可以使用加密和通道来加强隐私。

我想尝试使用加密方法来完成此任务。 由于所有注册用户都具有私钥/公钥,因此我计划使用用户的公钥来加密某些数据(后来我计划将其与对称密码术结合起来以提高效率)。

另外,我计划使用函数调用者的私钥来执行解密。

如何在链码中获取公钥/私钥? 此外,由于我正在使用适用于Hyperledger v1的NodeJS SDK,因此我还计划在NodeJS(链代码之外)中执行加密/解密。 如何通过NodeJS获取公钥/私钥?

使用NodeSDK时,您只需从密钥在磁盘上的位置加载密钥并获得签署者(客户端)证书,就可以使用ChaincodeStubInterface接口中的API, ChaincodeStubInterface接口在调用chaincode时为您提供:

// GetCreator returns `SignatureHeader.Creator` (e.g. an identity)
// of the `SignedProposal`. This is the identity of the agent (or user)
// submitting the transaction.
GetCreator() ([]byte, error)

首先,我认为您应该知道这些密钥是如何创建的。 可以使用不同的方法,但是Hyperledger Fabric为您提供了两个工具来创建这些密钥:

  • Cryptogen:此工具用于为您的网络实体生成加密材料(x509证书)。 这些证书代表身份,它们允许在我们的实体进行通信和交易时进行签名/验证身份验证。
  • Fabric CA:Fabric的组件,即将为每个成员颁发证书的CA。

然后,一旦有了密钥,就应该对其进行管理。 MSP使Fabric项目变得更加容易。 创建通道时,您定义对等方的公共密钥和这些证书的发行者的密钥。 然后,Fabric管理它们以验证交易。

成员资格服务提供商(MSP)为我们提供了从验证,身份验证和签名的所有加密机制和协议中抽象出来的可能性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM