我最近开始学习hyperledger fabric,我正在开发一个简单的私有区块链来管理数字数据,这些数据将使用用户公钥加密,并且只能使用用户私钥解密,所以我的问题是,是否有一种方法可以在hyperledger fabric中获取用户私钥和公钥,用于数据加密
发布于 2020-04-06 12:21:29
是的,fabric使用公钥基础设施。fabric中的每个事务都由用户的私钥签名。在链码级别,您可以从其电子证书中获取用户的公钥。
有关fabric docs https://hyperledger-fabric.readthedocs.io/en/release-2.0/identity/identity.html中身份的更多信息
CID golang包用于获取链码级别的电子证书https://github.com/hyperledger/fabric-chaincode-go/tree/master/pkg/cid
发布于 2020-04-06 15:38:04
虽然MSP ECDSA密钥用于签名,但您也可以使用它们通过ECDH进行加密。基本上,您可以从公钥A和私钥B中派生出与从公钥B和私钥A中派生出的相同的共享密钥,因此您可以使用该共享密钥作为对称AES密钥进行加密。
一个使用openssl
的例子:https://jameshfisher.com/2017/04/14/openssl-ecc/。您不需要创建密钥对,因为您已经拥有它们。您可以使用elliptic
和crypto
库在javascript中实现它。
您管理自己的私钥和公钥(注册后在客户的钱包中),但您必须安排可靠的方式来分发他人的公钥。如果公钥嵌入到有效的证书中,您可以很容易地验证它,但分发它的方法掌握在您手中。
https://stackoverflow.com/questions/61048759
复制相似问题