SubtleCrypto importKey InvalidAccessError
У меня есть код, который использует SubtleCrypto API для создания пары ключей RSA и экспорта открытого ключа:
let keypair = await subtle.generateKey(
{
name: 'RSA-OAEP',
modulusLength: 4096,
publicExponent: new Uint8Array([1, 0, 1]),
hash: 'SHA-256',
},
extractable,
['wrapKey', 'unwrapKey']
);
let exported = await subtle.exportKey('jwk', keypair.publicKey);
Вот пример вывода ключа экспорта:
{
"alg": "RSA-OAEP-256",
"e": "AQAB",
"ext": true,
"key_ops": ["wrapKey"],
"kty": "RSA",
"n": "moEofiRSJpES6OIR_AJr-OBb3A-AAqLFxR2OGuT1j1RwIZreFWj0IHEPwxCZ9lPRtK9AMWiIAww-CY7E7oPTm3OrjdCDyrh3_c2PLGrE1V8C7yXGwmyBuf9eaLHMVR4p3ufoQFNeg94NMv0br00bhbn2bNe2vewqcPDqctGonKytFGTZouXjy3TAVy23J8vPMlFA7bvDI8Z7yPxoqumVCc7Iys6HAjHxgsq_RctnKhbCj5XjmtS-2ALODDeSK5rNFlxdg93tHjbraJrkcabyy4mTcCU7nmjJCqdX5Ja6_k_9AlBuSpbgGJ6hCKst6wtoKTUi478i9_-LdNSIGfETK4Z_UBrAkAJunF5BYaeWeP-EDM0f9R8EFoVlQUlip9xBy7Cz8cmJCmhKWkUvxIqfNrKaedkzUWpg3eDwOCKgG8f13seQs73RetfBfRoeN2fRMh_bslgi9-rro38iW_c2sv-26Yslvr3QSdhAiSzHAmaUm9Kw17DU9AGn8Ps47HUB2FBW9v2d2692AND-NIIGSKvU9Ej2IODspFM1MVs7qMnSbVQ-kGPYn6IFJg9t1yTo8fftFIgOKOPXEbfrPjTk7sAzwDQEvV2W6LXDiZ_8XGjiho-F0lN1DXTxfPUs67RepZT_-WVxB7IuIbw3cBhOTpzc2Fwy2nBDSzDYSMbtTKc"
}
В другой части кода экспортированный ключ снова импортируется для использования.
let imported = await subtle.importKey(
'jwk',
exported,
{
name: 'RSA-OAEP',
hash: 'SHA-256'
},
extractable,
['wrapKey']
);
Однако при запуске этого кода возникает ошибка:
InvalidAccessError: key.algorithm does not match that of operation
Почему возникает эта ошибка, когда
importKey
вызывается в этом случае, и как мне правильно импортировать ключ?