SubtleCrypto.importKey()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

O método SubtleCrypto.importKey() retorna como Promise de uma CryptoKey de uma informção dada como parâmetro.

Sintaxe

var result = crypto.subtle.importKey(format, keyData, algo, extractable, usages);

Parâmetros

  • format é um valor enumerado descrevendo o formato de informação da key exportada. Podendo ser um dos seguintes:

  • keyData é uma ArrayBuffer ou uma JSONWebKey contendo uma key no formato dado.

  • algo é um objeto de dicionário que define o algoritmo que foi utilizado para gerar a key que está sendo importada.

  • extractable é um Boolean indicando se a key pode ser extraída de um objeto CryptoKey em um estágio mais tardio.

  • usages é um Array que indica o que pode ser feito com a key. Valores possíveis do array são:

    • "encrypt", permitindo que a key seja utilizada para encrypting mensagens.
    • "decrypt", permitindo que a key seja utilizada para decrypting mensagens.
    • "sign", permitindo que a key seja utilizada para signing mensagens.
    • "verify", permitindo que a key seja utilizada para verifying the signature de mensagens.
    • "deriveKey", permitindo que a key seja utilizada como uma key base na derivação de uma nova key.
    • "deriveBits", permitindo que a key seja utilizada como key base na derivação de bits de informação para uso em criptografias primitivas.
    • "wrapKey", permitindo que a key envolva uma key simétrica para uso (transferência, armazenamento) em ambientes não seguros.
    • "unwrapKey", permitindo que a key se desvincule de uma key simétrica para uso (transferência, armazenamento) em ambientes não seguros.

Valor de retorno

Exceções

A promise é rejeitada quando umas das seguintes exceções é encontrada:

  • SyntaxError quando keyUsages está vazia mas a key desvinculada é do tipo "secret" ou "private".
  • TypeError quando tentando utilizar um formato invalido ou se a keyData não é adequada para este formato.

Especificações

Specification
Web Cryptography API
# SubtleCrypto-method-importKey

Compatibilidade com navegadores

BCD tables only load in the browser

Veja também

Dicionário

"Key" = "Chave"