Método de firma C2
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 C2.
![](https://support.huaweicloud.com/intl/es-us/usermanual-cdn/public_sys-resources/note_3.0-es-us.png)
- 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
http://DomainName/FileName?auth_key=<sha256>×tamp=<timestamp>
http://DomainName/FileName?auth_key=<md5hash>×tamp=<timestamp>
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 o hexadecimal. |
Validity Period |
Cuánto tiempo permanece efectiva una URL firmada. El valor oscila entre 0s y 31,536,000s. El valor predeterminado es 1800s. 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. |
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 |
URL de regreso al origen. 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 clave 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. |
Timestamp |
Nombre del parámetro de marca de tiempo incluido en la URL de solicitud. |
Método de verificación
Después de recibir una solicitud, un nodo CDN verifica la solicitud de la siguiente manera:
- 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.
- 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.
- 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 = "PrivateKey-Filename-Timestamp" HashValue = md5sum(sstring)
Osstring = "PrivateKey-Filename-Timestamp" HashValue = sha256sum(sstring)
Procedimiento
- Inicie sesión en la consola de Huawei Cloud. En la página principal de la consola de gestión, elija .
Se muestra la consola de CDN.
- En el panel de navegación, seleccione .
- En la lista de dominios, haga clic en el nombre del dominio de destino o haga clic en Configure en la columna Operation.
- Haga clic en la pestaña Access Control y haga clic en Sign URL.
- 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.
Time Format
Formato de la hora en la URL firmada.
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 Método de firma C2, 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.
Time Format
Formato de la hora en la URL firmada. Formato de hora de la URL firmada, que debe ser el mismo que el especificado en la configuración de firma de URL.
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:
- 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
- Establecer PrivateKey en huaweicloud123.
- La autenticación entra en vigor desde las 10:00:00 del 30 de junio de 2017. Timestamp es 5955b0a0. Establezca el período de validez en 1800s.
- El nodo CDN construye una cadena para calcular md5hash.
huaweicloud123/T128_2_1_0_sdk/0210/M00/82/3E/test.mp35955b0a0
- El nodo CDN calcula md5hash de acuerdo con la cadena de caracteres con signo.
md5hash = md5sum(huaweicloud123/T128_2_1_0_sdk/0210/M00/82/3E/test.mp35955b0a0) = aecf1b07f481bbb8122eef5cd52a4bc1
- La URL de solicitud es:
http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3?auth_key=aecf1b07f481bbb8122eef5cd52a4bc1×tamp=5955b0a0
Si la solicitud se encuentra dentro del período de validez , (desde 10:00:00 el 30 de junio de 2017 hasta 10:30:00 el 30 de junio de 2017) y el md5hash calculado es el mismo que el valor md5hash (aecf1b07f481bbb8122eef5cd52a4bc1) transportado en la solicitud, la autenticación se realiza correctamente.