Da formato a las claves para su importación

Cloud Key Management Service te permite importar claves criptográficas proporcionadas por el usuario. En este tema, se describe cómo formatear de manera adecuada tus claves para que Cloud KMS pueda importarlas.

El formato correcto para tu material de clave varía según si el material de clave se importa a una clave simétrica o asimétrica. Para obtener más información sobre la diferencia entre las claves asimétricas y las asimétricas, consulta Algoritmos y propósitos de clave.

Formatos de clave compatibles

  • Las claves simétricas para la encriptación deben ser de 32 bytes de datos binarios y no deben estar codificadas. Si la clave está codificada en hexadecimales o en Base64, debes decodificarlo antes de intentar importarla.

  • Las claves asimétricas para la encriptación o firma deben estar en formato PKCS #8 y deben tener codificación DER. El formato PCKS #8 se define en RFC 5208. La codificación DER se define en Unión Internacional de Telecomunicaciones de X.680. Las claves asimétricas deben usar una de las combinaciones de longitud y algoritmo que admite Cloud KMS.

Algunos aspectos de una clave, como su longitud, no se pueden cambiar después de la creación. En estos casos, la clave no se puede importar a Cloud KMS.

Verifica una clave simétrica

Usa el comando wc para verificar la longitud de una clave simétrica.

wc -c /path/to/unwrapped-key

No puedes importar una clave simétrica con una longitud que no sea 32.

Usa el comando file para verificar el formato de una clave.

file /path/to/unwrapped-key
  • Si el resultado es data, la clave está en el formato correcto para ser importada.

  • Si el resultado es ASCII text, usa el comando cat para mostrar el contenido del archivo.

    • Si es una string de letras y números que terminan en un signo =, podría estar codificado en base64. Usa el comando base64 (Base64.exe en Windows) para decodificarlo. El siguiente es un ejemplo de una clave codificada en Base64:

      THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
      
    • Si contiene una o más líneas de números hexadecimales, puede estar codificada por hexadecimal. Usa el comando xxd (o el comando Format-Hex de PowerShell en Windows) para decodificarlo. El siguiente es un ejemplo de una clave con codificación 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
      
    • Si contiene cualquier otro texto, es posible que no sea una clave simétrica válida.

Cómo formatear claves asimétricas

Las claves asimétricas que usan cualquiera de los algoritmos compatibles se pueden importar. En la práctica, es difícil determinar de forma retroactiva el algoritmo que se usó para crear una clave asimétrica. Por esa razón, recomendamos que ejecutes los siguientes comandos en cada clave asimétrica antes de intentar importarla a Cloud KMS.

  1. Usa el comando file para verificar el formato de una clave.

    file /path/to/unwrapped-key
    
    • Si el resultado es PEM, la clave está en formato PEM. Si es ASCII text, es probable que esté en formato PEM. En cualquier caso, ejecuta el siguiente comando para convertirlo en formato PCKS#8 DER:

      openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \
          -in /path/to/asymmetric-key-pem \
          -out /path/to/formatted-key
      
    • Si el resultado es data, es probable que la clave esté en formato DER, pero puede que no esté en formato PKCS #8. Ejecuta el siguiente comando para asegurarte de que la clave tenga el formato correcto. El comando no tiene efecto si la clave ya está en el formato correcto. En ese caso, puedes usar el comando diff para verificar que el archivo de entrada y de salida sea idéntico.

      openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \
          -in /path/to/asymmetric-key-der \
          -out /path/to/formatted-key
      

Soluciona problemas

Si ejecutas los comandos anteriores y crees que la clave tiene un formato adecuado, pero la importación aún falla, comprueba si hay errores en Google Cloud Console y consulta Solución de problemas de importaciones con errores.

¿Qué sigue?