# CryptoKey

A interface `CryptoKey` representa uma chave criptográfica obtida de um dos [métodos SubtleCrypto](/pt-br/documentacao/produtos/applications/functions/runtime-apis/javascript/subtle-crypto/).

Em uma function da Azion, uma `CryptoKey` é o objeto que você passa para as operações do SubtleCrypto ao criptografar, descriptografar, assinar ou verificar dados. Você não a constrói diretamente; em vez disso, ela é retornada por métodos como `generateKey()`, `importKey()` ou `deriveKey()`. Suas propriedades somente leitura descrevem o que a chave é e como ela pode ser usada, permitindo que o runtime garanta que uma chave seja aplicada apenas às operações para as quais foi criada. Tratar as chaves como objetos `CryptoKey` opacos mantém o material bruto da chave fora do código da função e ainda assim viabiliza um trabalho criptográfico rápido na rede global da Azion.

## Propriedades

[CryptoKey.type](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/type)
O tipo de chave que o objeto representa. Pode assumir um dos seguintes valores: "secret", "private" ou "public".

[CryptoKey.extractable](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/extractable)
Um valor booleano indicando se a chave pode ou não ser extraída usando SubtleCrypto.exportKey() ou SubtleCrypto.wrapKey().

[CryptoKey.algorithm](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/algorithm)
Um objeto que descreve o algoritmo para o qual essa chave pode ser usada e quaisquer parâmetros extras associados.

[CryptoKey.usages](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/usages)
Um array de strings, indicando o que pode ser feito com a chave. Os valores possíveis para os elementos da matriz são "encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey" e "unwrapKey".

## Casos de uso

- Armazenar uma chave secreta importada usada para verificar tokens assinados ou assinaturas HMAC na rede global da Azion.
- Carregar um par de chaves gerado para assinar ou criptografar payloads antes que eles deixem a função.
- Restringir como uma chave é aplicada por meio de suas `usages`, de modo que ela possa assinar, mas não descriptografar, por exemplo.

## Recursos relacionados

- [CryptoKey na MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey)
- [Runtime APIs](/pt-br/documentacao/produtos/applications/functions/runtime-apis/javascript/fetch/)

Para mais informações sobre [CryptoKey](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey) visite MDN Web Docs.





---