3

在 Chrome 中,这失败了:

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

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

4

1 回答 1

5

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

如果你想签署一些东西,那么你需要使用"RSA-PSS"

您不能直接将相同的 RSA 密钥引用用于加密和签名,并且您不应该将相同的密钥用于不同的操作。

于 2015-11-26T14:00:58.987 回答