Encryption 使用WebCrypto生成对加密和签名都有用的密钥对

Encryption 使用WebCrypto生成对加密和签名都有用的密钥对,encryption,rsa,webcrypto-api,Encryption,Rsa,Webcrypto Api,在Chrome中,此操作失败: window.crypto.subtle.generateKey( { name: "RSA-OAEP", modulusLength: 4096, hash: {name: "SHA-256"}, }, true, ["sign", "verify", "encrypt", "decrypt"] ) 为什么这是不可能的?为什么我不能创建既可用于加密又可用于签名的密钥对?RSA密钥本

在Chrome中,此操作失败:

window.crypto.subtle.generateKey(
    {
        name: "RSA-OAEP",
        modulusLength: 4096,
        hash: {name: "SHA-256"},
    },
    true,
    ["sign", "verify", "encrypt", "decrypt"]
)
为什么这是不可能的?为什么我不能创建既可用于加密又可用于签名的密钥对?RSA密钥本身没有此限制。

意味着使用了加密算法RSA和填充方案OAEP。OAEP仅为加密而不是签名指定。例如,您可以查看以查找相应的检查

如果你想签名,那么你需要使用


您不能直接将同一个RSA密钥引用用于加密和签名,并且

无法使用指定的密钥用法创建密钥。