使用Webcrypto使用RSA加密到多个公钥

时间:2018-03-26 17:43:02

标签: javascript encryption rsa public-key

有没有办法加密多个公钥的数据(所以多个密钥所有者可以使用他们的私钥解密数据)使用javascript cryto Api。

如果使用RSA-OAEP无法做到这一点,请您建议一下吗?

由于

window.crypto.subtle.encrypt(
    {
        name: "RSA-OAEP",

    },
    ArrayOfPublicKeys, 
    data 
)
.then(function(encrypted){

    console.log(encrypted);
})

1 个答案:

答案 0 :(得分:2)

Jack Millan博士。

PGP,S / MIME和其他类似的消息传递解决方案启用多方消息的方式是: 1.生成消息加密密钥(MEK),例如,用于模式GCM的AES密钥, 2.查找每个收件人的公钥, 3.将MEK加密到每个收件人的公钥, 4.使用加密消息打包加密的MEK, 5.分发给参与者。

这里的挑战是公钥的安全发现,大多数应用程序都在这上面,并使用户进行手动指纹验证或依赖第三方(如证书颁发机构)来验证密钥与主题的绑定。

您可以在此处找到使用具有单个收件人的webcrypto执行此操作的示例: https://pkijs.org/examples/CMSEnvelopedExample.html

此演示的来源如下: https://github.com/PeculiarVentures/PKI.js/tree/master/examples/HowToEncryptCMSviaCertificate