зачем вам определять алгоритм в decrypt(), если он уже есть в importKey()?
Чтобы что-то расшифровать с помощью Web Crypto API, вы должны сначала импортировать ключ следующим образом:
const result = crypto.subtle.importKey(
format,
keyData,
algorithm,
extractable,
usages
);
Это возвращает обещание. Если вы добавите
.then(function(importedKey) {})
для этого вы сможете использовать фактический импортированный ключ для расшифровки:
const result = crypto.subtle.decrypt(algorithm, key, data);
У меня вопрос... поскольку для импортированного ключевого объекта уже задан алгоритм, почему вам нужно повторно указать алгоритм при попытке выполнить фактическое дешифрование?
В связи с этим importKey, похоже, поддерживает RSASSA-PKCS1-v1_5 как алгоритм, но дешифрование - нет. Если decrypt() не поддерживает RSASSA-PKCS1-v1_5, тогда почему importKey?