MsCrypto Метод ключа импорта завершается неудачно в IE11 с ошибкой «недопустимый аргумент» - PullRequest
0 голосов
/ 19 сентября 2019

Ошибка «недопустимый аргумент» при попытке импортировать открытый ключ в IE 11 с использованием метода window.msCrypto.subtle.importKey, в то время как те же методы отлично работают в 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?

1 Ответ

0 голосов
/ 19 сентября 2019

Вы можете использовать API веб-криптографии shim , чтобы он работал в 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>

После этого сценарии будут хорошо работать в IE 11.

...