当前位置: 首页 > 知识库问答 >
问题:

我可以使用由Hyperledger Fabric V1.0中的MSP生成的公钥/私钥来加密/解密数据吗?

龚镜
2023-03-14

在Hyperledger Fabric V1.0中,用户可以通过MSP(member services provider)注册并注册到区块链网络中。用户在注册和注册后会得到一个公钥(在证书中)和一个私钥。按照我的理解,私钥被调用者用来签署事务,而公钥被对等方用来验证签署者。

我可以使用相同的私钥和公钥来加密(使用公钥)和解密(使用私钥)吗?

如果是,我需要什么node.js库来使用MSP生成的这些密钥进行加密和解密?我尝试使用密码包,但它不起作用。它会产生以下错误:

Error: error:0608B096:digital envelope routines:EVP_PKEY_encrypt_init:operation not supported for this keytype

我尝试使用OpenSSL(而不是MSP)生成的RSA公钥/私钥对中的crypto包,加密/解密工作正常。

共有1个答案

马天逸
2023-03-14

Hyperledger Fabric 1.0.*不支持用于签名的RSA密钥。签名密钥必须是ECDSA密钥,因为这是当前支持的唯一类型。有关详细信息,请参阅文档。

 类似资料:
  • 如果我尝试使用OpenSSL命令行生成3TDES加密的PKCS 8密钥: 我得到: PKCS8 RFC没有说明必须使用哪种算法来创建密钥块。它确实给出了PKCS5算法作为例子。有没有办法使用OpenSSL创建一个由DES密钥加密的PKCS8密钥?如果不是,它是OpenSSL不支持的还是一个非常不标准的事情? 下面是通过OpenSSL命令行(密码测试)使用基于密码的加密创建的示例: 这里是我手工制作

  • 我想使用带有RSA算法的OpenSSL使用私钥加密文件: 现在,如果我执行解密操作: 此操作需要私钥 我知道我应该使用公钥进行加密,如果我使用私钥,我会得到一个签名。 然而,我想这样做是为了学习。

  • 我被告知,对于非对称密码学,您使用公钥加密明文,并使用私钥解密明文。所以我尝试了以下方法: 以及加密和解密函数 我希望控制台显示,但它显示的是这个。我是否错误地使用了RSACryptoServiceProvider?

  • 我找到了几个可以使用的解决方案。Net RSA Provider使用公钥对消息进行加密,并使用私钥对其解密。 但我想要的是用私钥加密,用公钥解密。 我希望在我的应用程序中存储公钥,并使用私钥加密许可证,例如在我的开发人员计算机上,将其发送到应用程序,并让信息使用公钥解密。 我怎样才能做到这一点?

  • 我需要在C#中加密数据,以便将其传递给Java。Java代码属于第三方,但我得到了相关的源代码,因此我决定,由于Java使用Bouncy Castle库,所以我将使用C#端口。 解密工作正常。但是,解密仅在使用私钥使用encrypt时有效,而不是使用公钥。使用公钥时,解密失败,出现。 编辑: 我还添加了一个单元测试,它证明公钥等于从私钥中提取的公钥:

  • 并且我将这个函数称为用RSA公钥加密DSA密钥的函数: