首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一种使用Hyperledger生成的公钥/私钥加密文件/字符串的方法?

是否有一种使用Hyperledger生成的公钥/私钥加密文件/字符串的方法?
EN

Stack Overflow用户
提问于 2020-02-25 19:57:11
回答 1查看 232关注 0票数 1

我在我的项目中使用Hyperledger Fabric V1.4。我已经注册和注册了用户。现在我想在用户之间传输文件,同时保持私有,这意味着我需要对文件进行加密,这样只有接收者才能看到。例如,用户A希望向用户B发送一个文件。我现在考虑的基本工作流程是:

  1. 用户A和B在超级分类账网络中注册并获取公钥/私钥。
  2. 用户A在IPFS中上传文件并从IPFS获取哈希。(因为每个具有哈希的人都可以访问该文件,所以我们需要对文件哈希进行加密。)
  3. 使用用户B的公钥加密文件哈希。
  4. 将加密的哈希发送给用户B。
  5. 用户B接收加密的哈希,并使用B的私钥解密哈希,并获取IPFS文件哈希。然后B可以使用IPFS查看哈希。

我遇到的问题是:

步骤3中的

  1. ,如何获取用户的公钥?我只找到了获得证书和私钥的方法。或者,我可以从certificate?
  2. Is那里获得公钥吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-02-26 08:14:28

是的,这是可能的类似的东西,但与ECDSA不这样工作。您不使用用户B的公钥加密。您要做的是从用户B的公钥和用户A的私钥派生对称密钥,方法是从用户A的公钥和用户B的私钥派生相同的对称密钥。它被称为ECDH。我这里还没有Javascript中的示例(您可以以相同的方式搜索它),但是要理解它,请看一下https://jameshfisher.com/2017/04/14/openssl-ecc/中的示例(使用https://jameshfisher.com/2017/04/14/openssl-ecc/)。

您可以从证书(它嵌入到证书中)获取公钥,也可以从私钥派生它。选择你的方式。

注意:我发现在将内容存储到IPFS并共享哈希之前,对内容进行加密比加密哈希更安全。

编辑:对于nodejs,您可以尝试如下:https://www.npmjs.com/package/eccrypto。它似乎还包括一些类似于你最初寻找的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60402246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档