对于这个问题的模棱两可的标题,我感到非常抱歉,我真的不知道如何表达这个问题。
我在 NodeJS 中使用 SubtleCrypto 生成了一个公钥和私钥,如下所示:
const { publicKey, privateKey } = await subtle.generateKey({
name: 'RSA-OAEP',
4096,
new Uint8Array([1, 0, 1]),
'SHA-256',
}, true, ['encrypt', 'decrypt']);
这非常适用于一个用例:
公钥加密,私钥解密。
但是,我希望在我的项目中实现 RSA 的方式是这样的:
- 客户端向服务器请求公钥
- 客户端使用公钥加密有效负载
- 服务器使用私钥解密有效负载
- 服务器使用私钥加密响应负载
- 客户端使用公钥解密响应负载
当我尝试执行Step 4
时,我遇到了这个错误:
The requested operation is not valid for the provided key
有没有办法指定每个键都可以用于Encrypt & Decrypt
?
另外,如果我的实现完全错误,我很抱歉。