Este tópico descreve como formatar as chaves para que possam ser importadas pelo Cloud KMS como novas versões de chaves.
O formato correto do material da chave varia consoante o material da chave esteja a ser importado para uma chave simétrica ou para uma chave assimétrica. Para mais informações sobre a diferença entre chaves simétricas e assimétricas, consulte o artigo Finalidades e algoritmos das chaves.
Formatos de chaves suportados
- Chaves simétricas para encriptação: As chaves simétricas importadas têm de ter 32 bytes de dados binários e não podem ser codificadas. Se a sua chave estiver codificada em hexadecimal ou Base64, tem de descodificá-la antes de tentar importá-la.
- Chaves simétricas para assinatura (chaves MAC): as chaves de assinatura HMAC importadas têm de ter um comprimento igual ao comprimento de saída da função de hash criptográfico que está a ser usada (por exemplo, as chaves HMAC-SHA256 têm de ter um comprimento de 32 bytes) e não podem ser codificadas. Se a sua chave estiver codificada em hexadecimal ou codificada em base64, tem de descodificá-la antes de tentar importá-la.
- Chaves assimétricas para encriptação ou assinatura: as chaves assimétricas importadas têm de estar no formato PKCS #8 e têm de ser codificadas em DER. O formato PCKS #8 está definido no RFC 5208. A codificação DER é definida na União Internacional das Telecomunicações X.680. As chaves assimétricas têm de usar uma das combinações de comprimento e algoritmo suportadas pelo Cloud KMS.
Alguns aspetos de uma chave, como o comprimento da chave, não podem ser alterados depois de a chave ser criada. Nestes casos, não é possível importar a chave para o Cloud KMS.
Verificar uma chave simétrica
Use o comando wc
para verificar o comprimento de uma chave simétrica.
wc -c /path/to/unwrapped-key
Não pode importar uma chave de encriptação simétrica com um comprimento diferente de 32.
As chaves de assinatura simétricas (chaves MAC) têm de ter um comprimento igual ao comprimento de saída da função hash criptográfica que está a ser usada (por exemplo, as chaves HMAC-SHA256 têm de ter um comprimento de 32 bytes).
Use o comando file
para verificar o formato de uma chave.
file /path/to/unwrapped-key
Se o resultado for
data
, a chave está no formato correto para ser importada.Se o resultado for
ASCII text
, use o comandocat
para apresentar o conteúdo do ficheiro.Se for uma string de letras e números que termina com um sinal
=
, pode estar codificada em base64. Use o comandobase64
(Base64.exe
no Windows) para descodificar. Segue-se um exemplo de uma chave codificada em base64:THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
Se contiver uma ou mais linhas de números hexadecimais, pode estar codificado em hexadecimal. Use o comando
xxd
(ou oFormat-Hex
comando do PowerShell no Windows) para descodificá-lo. Segue-se um exemplo de uma chave codificada em hexadecimal:00000000: 4c7c c0ae 36ac b01f a088 a78d 793d 59af L|..6.......y=Y. 00000010: be0e 815d b8b7 e129 fb7e c473 aa23 0776 ...]...).~.s.#.v
Se contiver outro texto, pode não ser uma chave simétrica válida.
Formatar chaves assimétricas
Podem ser importadas chaves assimétricas que usem qualquer um dos algoritmos suportados. Na prática, é difícil determinar retroativamente o algoritmo usado para criar uma chave assimétrica. Por esse motivo, recomendamos que execute os seguintes comandos em cada chave assimétrica antes de tentar importá-la para o Cloud KMS.
Use o comando
file
para verificar o formato de uma chave.file /path/to/unwrapped-key
Se o resultado for
PEM
, a chave está no formato PEM. Se forASCII text
, é provável que esteja no formato PEM. Em qualquer dos casos, execute o seguinte comando para o converter para o formato DER PCKS#8:openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \ -in /path/to/asymmetric-key-pem \ -out /path/to/formatted-key
Se a saída for
data
, é provável que a chave esteja no formato DER, mas pode não estar no formato PKCS n.º 8. Execute o seguinte comando para garantir que a chave está no formato correto. O comando não tem efeito se a chave já estiver no formato correto. Nesse caso, pode usar o comandodiff
para verificar se o ficheiro de entrada e o ficheiro de saída são idênticos.openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \ -in /path/to/asymmetric-key-der \ -out /path/to/formatted-key
Resolução de problemas
Se executar os comandos acima e considerar que a chave está num formato adequado, mas a importação continua a falhar, verifique se existem erros na Trusted Cloud consola e, em seguida, consulte o artigo Resolução de problemas de importações com falhas.
O que se segue?
- Continuar para Importar uma versão da chave
- Saiba mais sobre a importação de chaves