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 вызывается в этом случае, и как мне правильно импортировать ключ?

0 ответов

Другие вопросы по тегам