--- title: SubtleCrypto.importKey() slug: Web/API/SubtleCrypto/importKey tags: - API - Criptografía - Referencia - SubtleCrypto - Web Crypto API - metodo translation_of: Web/API/SubtleCrypto/importKey ---
{{APIRef("Web Crypto API")}}
O método SubtleCrypto.importKey()
retorna como {{jsxref("Promise")}} de uma {{domxref("CryptoKey")}} de uma informção dada como parâmetro.
var result = crypto.subtle.importKey(format, keyData, algo, extractable, usages)
;
format
é um valor enumerado descrevendo o formato de informação da key exportada. Podendo ser um dos seguintes:
"raw"
, a key como um conjunto de bytes, normalmente uma key secreta."pkcs8"
uma key privada, no IETF Public Key-Cryptographic Standard Encryption #8."spki"
, normalmente uma key pública, no Simple public key infrastructure padrão."jwk"
, a key no formato JSON Web Key.keyData
é uma {{domxref("ArrayBuffer")}} ou uma {{domxref("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 {{jsxref("Boolean")}} indicando se a key pode ser extraída de um objeto {{domxref("CryptoKey")}} em um estágio mais tardio.usages
é um {{jsxref("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 {{glossary("encryption", "encrypting")}} mensagens."decrypt"
, permitindo que a key seja utilizada para {{glossary("decryption", "decrypting")}} mensagens."sign"
, permitindo que a key seja utilizada para {{glossary("signature", "signing")}} mensagens."verify"
, permitindo que a key seja utilizada para {{glossary("verification", "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.result
é uma {{jsxref("Promise")}} que retorna a {{domxref("CryptoKey")}} gerada.A promise é rejeitada quando umas das seguintes exceções é encontrada:
keyUsages
está vazia mas a key desvinculada é do tipo "secret"
ou "private"
.keyData
não é adequada para este formato.Especificação | Status | Comentário |
---|---|---|
{{ SpecName('Web Crypto API', '#dfn-SubtleCrypto-method-importKey', 'SubtleCrypto.importKey()') }} | {{ Spec2('Web Crypto API') }} | Definição inicial. |
{{ CompatibilityTable() }}
Características | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Suporte básico | {{ CompatChrome(37) }} | {{CompatVersionUnknown}} | {{ CompatGeckoDesktop(34) }} | {{ CompatNo() }} | {{ CompatUnknown() }} | {{ CompatNo }} |
ECDH |
{{ CompatUnknown() }} | {{CompatUnknown}} | {{ CompatGeckoDesktop(41) }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
Características | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Suporte básico | {{CompatVersionUnknown}} | 37 | {{CompatVersionUnknown}} | {{ CompatGeckoMobile(34) }} | {{ CompatNo }} | {{ CompatUnknown() }} | {{ CompatNo }} |
ECDH |
{{ CompatUnknown() }} | {{ CompatUnknown() }} | {{CompatUnknown}} | {{ CompatGeckoDesktop(41) }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} | {{ CompatUnknown() }} |
"Key" = "Chave"