我很抱歉这个问题的标题含糊不清,我不太清楚该怎么表达。
我使用SubtleCrypto在NodeJS中生成了一个公钥和私钥,如下所示:
const { publicKey, privateKey } = await subtle.generateKey({
name: 'RSA-OAEP',
4096,
new Uint8Array([1, 0, 1]),
'SHA-256',
}, true, ['encrypt', 'decrypt']);这对于一个用例来说是完美的:
公钥加密,私钥解密。
但是,我希望在我的项目中实现RSA的方式如下:
H 110客户端用公钥解密响应有效载荷H 211G 212
当我尝试执行Step 4时,遇到了以下错误:
The requested operation is not valid for the provided key 是否有一种方法可以指定每个键可用于Encrypt & Decrypt
另外,如果我的实现是完全错误的,我很抱歉。
发布于 2022-01-25 22:00:03
正如您所描述的,步骤4是一个签名操作。签名与加密数据非常不同。为此,客户机和服务器都需要自己的键盘:
client: client public key & client private key
server: server public key & server private keyH 110>服务器加密响应有效载荷使用客户端公钥H 211>H 112客户端使用客户端私钥解密响应有效载荷<>H 213/代码>G 214
除了使用RSA加密和解密大量数据可能带来的巨大计算工作量外,这里的威胁模型是什么,您想实现什么?如果您真的想将它部署到生产中,您应该非常小心,因为您似乎对这个主题相当缺乏经验(无意冒犯)。
https://stackoverflow.com/questions/70855902
复制相似问题