Encryption MsCrypto导入密钥方法在IE11中失败,并带有“;“无效的论点”;错误

Encryption MsCrypto导入密钥方法在IE11中失败,并带有“;“无效的论点”;错误,encryption,cryptography,internet-explorer-11,encryption-asymmetric,Encryption,Cryptography,Internet Explorer 11,Encryption Asymmetric,尝试在IE 11中使用window.msCrypto.minute.importKey方法导入公钥时出现“invalid argument”错误,而相同的方法在Edge和chrome中也可以正常工作 下面是导入方法的输入有效负载 var jwk_base64 = publicKey.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, ''); var cryptoVar= window.crypto || wind

尝试在IE 11中使用window.msCrypto.minute.importKey方法导入公钥时出现“invalid argument”错误,而相同的方法在Edge和chrome中也可以正常工作

下面是导入方法的输入有效负载

    var jwk_base64 = publicKey.replace(/\+/g, '-').replace(/\//g,   '_').replace(/\=+$/, '');

    var cryptoVar= window.crypto || window.msCrypto;
    var cryptoSubtle = cryptoVar.subtle;
    let importOp = cryptoSubtle.importKey(
        "jwk",
        {
            kty: "RSA",
            e: "AQAB",
            n: jwk_base64,
            alg: "RSA-OAEP-256",
            ext: true,
        },
        { name: "RSA-OAEP", hash: { name: "sha-256" } },
        false,
        ["encrypt"]);
我们是否需要对其进行任何更改以使其适用于IE11?

您可以使用它使其适用于IE。我使用以下命令安装该软件包:

npm i webcrypto-shim
npm i promiz
然后将脚本链接到html代码中:

<script src="node_modules/promiz/promiz.js"></script>
<script src="node_modules/webcrypto-shim/webcrypto-shim.js"></script>

之后,脚本将在IE11中运行良好