Encryption MsCrypto导入密钥方法在IE11中失败,并带有“;“无效的论点”;错误
尝试在IE 11中使用window.msCrypto.minute.importKey方法导入公钥时出现“invalid argument”错误,而相同的方法在Edge和chrome中也可以正常工作 下面是导入方法的输入有效负载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
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中运行良好