Javascript 有没有一种方法可以使用Hyperledger结构生成的公钥/私钥对文件/字符串进行加密?
我正在我的项目中使用Hyperledger Fabric V1.4。我已经注册了用户。现在我想在用户之间传输文件,同时保持私有,这意味着我需要加密文件,这样只有接收者才能看到。例如,用户A希望向用户B发送一个文件。我现在考虑的基本工作流程是:Javascript 有没有一种方法可以使用Hyperledger结构生成的公钥/私钥对文件/字符串进行加密?,javascript,encryption,hyperledger-fabric,Javascript,Encryption,Hyperledger Fabric,我正在我的项目中使用Hyperledger Fabric V1.4。我已经注册了用户。现在我想在用户之间传输文件,同时保持私有,这意味着我需要加密文件,这样只有接收者才能看到。例如,用户A希望向用户B发送一个文件。我现在考虑的基本工作流程是: 用户A和B在Hyperledger网络中注册并获取公钥/私钥 用户A在IPFS中上传一个文件,并从IPFS中获取一个哈希值。(由于具有哈希的每个人都可以访问该文件,因此我们需要加密该文件哈希。) 使用用户B的公钥加密文件哈希 将加密哈希发送给用户B 用户B
谢谢大家! 是的,这可能是类似的,但对于ECDSA,它不能以这种方式工作。您不使用用户B的公钥进行加密。您要做的是从用户B的公钥和用户a的私钥派生出对称密钥,其方式与从用户a的公钥和用户B的私钥派生出相同的对称密钥。它被称为ECDH。这里我没有Javascript示例(您可以用与我相同的方式搜索),但要理解它,请看一看并尝试一下中的示例(使用OpenSSL) 您可以从证书(它嵌入在证书中)获取公钥,也可以从私钥派生公钥。选择你的方式 注意:我发现在将内容存储在IPFS中并共享哈希之前对其进行加密比加密哈希更安全
编辑:对于NodeJ,您可以尝试以下操作:。它似乎还包含一些类似于您最初寻找的内容。我找不到从证书或私钥派生公钥的方法。我试过node forge,但失败了。你有什么建议吗?