1

我已按照教程使用公钥加密数据并使用私钥解密浏览器上的数据。
但是当我尝试使用私钥加密数据时,它会以Uncaught (in promise) DOMException: key.usages does not permit this operation.
如何使用私钥加密 Web Cryptography API 中的数据?
我也在寻找一个 javascript 库,它允许我生成 RSA 密钥对,加密和解密浏览器上的数据。我找到了一些 RSA javascript 库,但它们都需要使用 open-ssl 命令来生成 RSA 密钥对。

4

1 回答 1

2

您无法使用 Web Crypto API 中的私钥进行加密。

使用 RSA,在技术上可以使用私钥加密数据,然后可以使用公钥对其进行解密。但是由于假定公钥是公开的,因此用私钥加密数据不会获得任何秘密。

使用私钥加密数据的作用是允许公众验证数据是否由拥有私钥的人加密。这是加密签名的基础。但由于使用 RSA 加密数据的计算成本很高,而不是加密整个数据块,我们通常采用加密散列并仅加密散列。

Web Crypto API 将为您生成 RSA 密钥,您提供的链接甚至显示了如何执行此操作。

于 2016-12-10T12:08:13.667 回答