A interface CryptoKey representa uma chave criptográfica obtida de um dos métodos SubtleCrypto.

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 O tipo de chave que o objeto representa. Pode assumir um dos seguintes valores: “secret”, “private” ou “public”.

CryptoKey.extractable Um valor booleano indicando se a chave pode ou não ser extraída usando SubtleCrypto.exportKey() ou SubtleCrypto.wrapKey().

CryptoKey.algorithm Um objeto que descreve o algoritmo para o qual essa chave pode ser usada e quaisquer parâmetros extras associados.

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

Para mais informações sobre CryptoKey visite MDN Web Docs.