如何在网络密码API中使用私钥对数据进行加密

how to use private key to encrypt data in Web Cryptography API

本文关键字:私钥 数据 加密 网络 密码 API      更新时间:2023-09-26

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

您不能在Web Crypto API中使用私钥进行加密。

使用RSA,从技术上讲,可以用私钥加密数据,然后用公钥解密。但是,由于公钥被认为是公共的,所以用私钥加密数据是不保密的。

用私钥加密数据的作用是让公众验证数据是否由拥有私钥的人加密。这是加密签名的基础。但是,由于使用RSA加密数据在计算上很昂贵,而不是加密整个数据块,因此我们通常采用加密哈希并只加密该哈希。

Web Crypto API将为您生成RSA密钥,您提供的链接甚至显示了如何做到这一点。