как импортировать открытый ключ ECDH (Невозможно создать ключ с использованием указанного использования ключа) - PullRequest
0 голосов
/ 14 января 2019

Я пытаюсь запустить код с webcrypto, но не могу импортировать открытый ключ ECDH. Чего мне не хватает?

Я получаю эту ошибку: не может создать ключ с использованием указанного ключа .

Браузер: Google Chrome версии 71.0.3578.98 (официальная сборка) (64-разрядная версия)

(отлично работает в Firefox).

window.crypto.subtle
  .generateKey(
    {
      name: 'ECDH',
      namedCurve: 'P-256',
    },
    true,
    ['deriveKey', 'deriveBits']
  )
  .then(function(key) {
    return window.crypto.subtle
      .exportKey('raw', key.publicKey)
      .then(function(ecdhPub) {
        return window.crypto.subtle
          .importKey(
            'raw',
            ecdhPub,
            {
              name: 'ECDH',
              namedCurve: 'P-256',
            },
            false,
            ['deriveKey', 'deriveBits']
          )
          .then(function(ecdhPubKey) {
            console.log('DONE !!', ecdhPubKey)
          })
          .catch(function(err) {
            console.log('COULD NOT IMPORT...')
            console.error(err)
          })
      })
      .catch(function(err) {
        console.log('COULD NOT EXPORT...')
        console.error(err)
      })
  })
  .catch(function(err) {
    console.log('COULD NOT GENERATE KEYS...')
    console.error(err)
  })
...