Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-07-18 GMT+08:00

Método de firma A

Por defecto, los recursos públicos son distribuidos por CDN. La firma de URL protege estos recursos de ser descargados y robados por usuarios malintencionados. Huawei Cloud CDN proporciona cuatro métodos de firma de URL. En este tema se describe el método de firma A.

  • Si su nombre de dominio tiene configuraciones especiales, no se puede configurar la firma de URL para este nombre de dominio en la consola de CDN.
  • Cuando se configura la firma de URL, las solicitudes de usuario incluirán parámetros de autenticación. Si Ignore specific parameters no está configurado:
    • La recuperación de contenido se volverá frecuente.
    • Si su servidor de origen es un bucket OBS, se incurrirán en tarifas por el tráfico saliente del bucket.

Cómo funciona

Una URL firmada de ejemplo se ve así:

http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
http://DomainName/Filename?auth_key=timestamp-rand-uid-sha256

En la siguiente tabla se describen los parámetros de una dirección URL firmada.

Parámetro

Descripción

DomainName

Nombre de dominio de aceleración.

timestamp

Hora de inicio de una solicitud válida. El valor es el número total de segundos que han transcurrido desde las 00:00:00 del 1 de enero de 1970. Es un entero decimal.

Validity Period

Cuánto tiempo permanece efectiva una URL firmada. El valor oscila entre 0s y 31,536,000s.

Ejemplo: Si el período de validez se establece en 1800s, los usuarios pueden acceder a CDN dentro de 1800s desde la hora indicada por timestamp. La autenticación falla y la URL es inaccesible si los usuarios acceden a CDN 1800s más tarde.

rand

Número aleatorio. El valor recomendado es un UUID, que no puede contener guiones (-) por ejemplo, 202cb962ac59075b964b07152d234b70.

uid

ID de usuario. Este parámetro no se utiliza ahora. Puede establecerlo en 0.

md5hash

Una cadena de 32 caracteres calculada usando el algoritmo MD5. La cadena consta de dígitos (0 a 9) y letras minúsculas.

sha256

Una cadena de 32 caracteres calculada usando el algoritmo SHA256. La cadena consta de dígitos y letras minúsculas.

Filename

Back-to-origin URL. Su valor debe comenzar con una barra diagonal (/) y no incluye los parámetros que siguen al signo de interrogación (?).

PrivateKey

Clave de firma, que se utiliza para generar una URL firmada, por ejemplo, huaweicloud123. La tecla contiene de 6 a 32 caracteres y solo puede contener letras y dígitos.

Authentication Parameter

Parámetro de autenticación incluido en una URL. El valor predeterminado es auth_key.

Método de verificación

Después de recibir una solicitud, un nodo CDN verifica la solicitud de la siguiente manera:

  1. Comprueba si los parámetros de autenticación están incluidos en la solicitud. Si no es así, la solicitud se considera inválida y se devuelve un código de error HTTP 403.
  2. Comprueba si la hora actual del sistema está dentro del rango [marca de tiempo, marca de tiempo + período válido]. Si el tiempo de sistema actual excede el intervalo, el nodo CDN considera que la solicitud expira y devuelve un código de error HTTP 403. Si el tiempo actual del sistema está dentro del intervalo, continúa el siguiente paso.
  3. Construye una cadena de caracteres, calcula HashValue con la cadena usando el algoritmo MD5 y SHA256, y compara HashValue con el valor md5hash o sha256 en la solicitud. Si el valor md5hash o sha256 es el mismo que HashValue, la autenticación se realiza correctamente y se devuelve un archivo. De lo contrario, la autenticación falla y se devuelve un código de error HTTP 403. HashValue se calcula de la siguiente manera:
    sstring = "Filename-Timestamp-rand-uid-PrivateKey" 
    HashValue = md5sum(sstring)
    O
    sstring = "Filename-Timestamp-rand-uid-PrivateKey" 
    HashValue = sha256sum(sstring)

Procedimiento

  1. Inicie sesión en la consola de Huawei Cloud. En la página principal de la consola de gestión, elija Service List > Storage > CDN.

    Se muestra la consola de CDN.

  2. En el panel de navegación, seleccione Domains.
  3. En la lista de dominios, haga clic en el nombre del dominio de destino o haga clic en Configure en la columna Operation.
  4. Haga clic en la pestaña Access Control y haga clic en Sign URL.

  5. Establezca los parámetros de acuerdo con la siguiente tabla y haga clic en OK.

    Parámetro

    Descripción

    Signing Key

    Contraseña de autenticación. Introduzca de 6 a 32 caracteres. Solo se permiten letras y dígitos.

    Encryption Algorithm

    MD5 o SHA256.

    Validity Period (s)

    Cuánto tiempo permanece efectiva la URL firmada. El valor oscila entre 0s y 31,536,000s.

    URL Signing Calculator

    Con URL signing calculator, puede generar una URL firmada para los usuarios. Establezca los parámetros según Tabla 1, y haga clic en Generate para generar una URL firmada que caducará en un momento específico.

    Escapar caracteres especiales en la URL firmada si hay alguno.

    Tabla 1 Descripción del parámetro

    Parámetro

    Descripción

    Signing Key

    Contraseña de autenticación. Introduzca de 6 a 32 caracteres. Solo se permiten letras y dígitos. El valor debe ser el mismo que la clave de firma especificada en la configuración de firma de URL.

    Access Path

    Ruta de acceso del contenido, que comienza con una barra diagonal (/) y no lleva una cadena de consulta.

    Encryption Algorithm

    MD5 o SHA256.

    Start Time

    Hora en la que la URL firmada tendrá efecto.

    Validity Period (s)

    Cuánto tiempo permanece efectiva la URL firmada. El valor oscila entre 0s y 31,536,000s. Si este valor es mayor que el período de validez establecido en la configuración de firma de URL, se utilizará este último.

    Ejemplo: Si establece este parámetro en 2000s, pero el período de validez establecido en la configuración de firma de URL es 1800s, el período de validez de las URL firmadas será 1800s.

Ejemplo

A continuación se utiliza el algoritmo MD5 como ejemplo:

  1. Supongamos que la URL de regreso al origen es la siguiente:
    http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3
  2. Establecer PrivateKey en huaweicloud123.
  3. La autenticación tiene efecto desde las 00:00:00 del 30 de junio de 2017. Timestamp es 1498752000. Establezca el período de validez en 1800s.
  4. El nodo de CDN construye una cadena para calcular las HashValue.
    /T128_2_1_0_sdk/0210/M00/82/3E/test.mp3-1498752000-0-0-huaweicloud123
  5. El nodo CDN calcula HashValue de acuerdo con la cadena de caracteres con signo.
    HashValue = md5sum("/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3-1498752000-0-0-huaweicloud123") = 
    40e64d69aac7d15edfc6ec8a080042cb
  6. La URL de solicitud es la siguiente:
    http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3?auth_key=1498752000-0-0-40e64d69aac7d15edfc6ec8a080042cb

Si la solicitud se encuentra dentro del período de validez , (desde las 00:00:00 del 30 de Junio de 2017 hasta las 00:30:00 del 30 de Junio de 2017) y el HashValue calculado es el mismo que el valor de md5hash (40e64d69aac7d15edfc6ec8a080042cb) llevado en la solicitud, la autenticación se realiza correctamente.