View a markdown version of this page

Comandos de Linux y OpenSSL para codificación y cifrado base64 - Amazon CloudFront

Comandos de Linux y OpenSSL para codificación y cifrado base64

Utilice los siguientes comandos de línea de comandos de Linux y OpenSSL para aplicar una función hash y firmar la instrucción de política, codificar la firma con base64 y sustituir caracteres que no sean válidos en los parámetros de cadenas de consulta de URL por caracteres válidos.

Para obtener información acerca de OpenSSL, consulte https://www.openssl.org.

SHA-1 (predeterminado):

cat policy | tr -d "\n" | tr -d " \t\n\r" | openssl sha1 -sign private_key.pem | openssl base64 -A | tr -- '+=/' '-_~'

SHA-256:

cat policy | tr -d "\n" | tr -d " \t\n\r" | openssl sha256 -sign private_key.pem | openssl base64 -A | tr -- '+=/' '-_~'

En el comando anterior:

  • cat lee el archivo policy.

  • tr -d "\n" | tr -d " \t\n\r" elimina los espacios vacíos y el carácter de nueva línea agregados por cat.

  • OpenSSL codifica el archivo con el hash SHA-1 (o SHA-256) y lo firma con el archivo de clave privada private_key.pem. La firma de clave privada puede ser RSA 2048 o ECDSA 256. Si utiliza SHA-256, incluya el parámetro de consulta Hash-Algorithm=SHA256 en la URL firmada o la cookie CloudFront-Hash-Algorithm=SHA256 en el caso de las cookies firmadas.

  • OpenSSL codifica en base64 la instrucción de política a la que se le ha aplicado una función hash y que se ha firmado.

  • tr sustituye los caracteres no válidos de los parámetros de cadenas de consulta de URL por caracteres válidos.

Para consultar más ejemplos de código que demuestren la creación de una firma, consulte Ejemplos de código para la creación de una firma para una URL firmada.