使用 WebCrypto 生成可用于加密和签名的密钥对

问题描述 投票:0回答:1

在 Chrome 中失败:

window.crypto.subtle.generateKey(
    {
        name: "RSA-OAEP",
        modulusLength: 4096,
        hash: {name: "SHA-256"},
    },
    true,
    ["sign", "verify", "encrypt", "decrypt"]
)

为什么这是不可能的?为什么我无法创建可用于加密和签名的密钥对? RSA 密钥本身没有此限制。

encryption rsa webcrypto-api
1个回答
6
投票

RSA-OAEP表示使用加密算法RSA和填充方案OAEP。 OAEP 仅指定用于加密,不用于签名。例如,您可以查看Firefox的源代码来找到相应的检查。

如果你想签署某些东西,那么你需要使用“RSA-PSS”

您不能直接使用相同的 RSA 密钥参考来进行加密和签名,并且 您不应该对不同的操作使用相同的密钥。

© www.soinside.com 2019 - 2024. All rights reserved.