Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Assinatura tipo C

Última atualização: Sep 15, 2026

O ApsaraVideo VOD permite usar o recurso de assinatura de URL para proteger o conteúdo de origem contra downloads e acessos não autorizados. Esse recurso oferece três tipos de assinatura. Este tópico descreve como funciona a assinatura tipo C.

Como funciona

Como uma URL é assinada com base no tipo C

  • Formato 1

    http://DomainName/{<md5hash>/<timestamp>}/FileName
  • Formato 2

    http://DomainName/FileName?{&KEY1=<md5hash>&KEY2=<timestamp>}

Observação

O conteúdo entre chaves ({}) representa as informações criptografadas adicionadas à URL padrão.

Campos de uma URL assinada

Campo

Descrição

DomainName

O nome de domínio do ApsaraVideo VOD.

PrivateKey

A chave primária ou secundária configurada no console do ApsaraVideo VOD. Para mais informações, consulte Ative e configure a assinatura de URL.

Filename

A URL efetiva que aponta para o recurso solicitado no servidor de origem. O valor do campo Filename deve começar com uma barra (/).

timestamp

O momento em que a URL assinada é gerada. O timestamp e o período de validade padrão determinam quando a URL assinada expira. O timestamp segue o formato UNIX time, que corresponde ao número de segundos decorridos desde 00:00:00 de quinta-feira, 1º de janeiro de 1970. Trata-se de uma string composta por 10 inteiros decimais positivos, independente do fuso horário. Essa string decimal é convertida em uma string hexadecimal.

Nota

Na maioria dos casos, uma URL assinada expira após o período de validade padrão especificado no ApsaraVideo VOD. Caso você defina um período de validade para uma URL assinada no servidor de assinatura, o timestamp e o período de validade da URL assinada seguem esta fórmula: Timestamp = timestamp UNIX no servidor de assinatura + período de validade configurado no servidor de assinatura. Período de validade = Timestamp + Período de validade padrão.

md5hash

A string calculada pelo algoritmo MD5. A string deve ter 32 caracteres e pode conter dígitos e letras minúsculas.

O valor de md5hash é calculado da seguinte forma:

sstring  = Privatekey + URI + timestamp  (URI is the relative path of the requested object, without query parameters — for example, /FileName)
    md5hash  = md5sum(sstring)

Lógica de assinatura

Quando um ponto de presença (POP) do Alibaba Cloud CDN recebe uma requisição, o POP verifica se o tempo obtido pela soma dos valores de timestamp e default validity period é anterior ao horário atual.

  • Se o tempo obtido pela soma dos valores de timestamp e default validity period for anterior ao horário atual, o POP considera que a URL expirou e retorna o código de status HTTP 403.

  • Se o tempo obtido pela soma de timestamp e default validity period for posterior ao horário atual, o POP gera uma string com base no sstring descrito na tabela anterior. Depois, o POP calcula o valor de md5hash pelo algoritmo MD5 e o compara com o valor de md5hash presente na requisição.

Exemplos

O exemplo a seguir demonstra como implementar a assinatura tipo C.

Condições de exemplo

  • Recupere um objeto do servidor de origem:

    http://domain.example.com/test.flv
    Nota

    Se a URL do objeto solicitado contiver caracteres chineses, codifique a URL antes de concatenar uma URL assinada.

    • URL original: https://example.com/image/aliyun.jpg

    • URL codificada: https://example.com/image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg

  • Defina PrivateKey como aliyuncdnexp1234.

  • Defina timestamp como 55CE8100.

Procedimento de concatenação

  1. Gere uma string de assinatura para calcular o valor de md5hash.

    aliyuncdnexp1234/test.flv55CE8100
  2. Calcule o valor de md5hash a partir da string de assinatura.

    md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100) = a37fa50a5fb8f71214b1e7c95ec7a1bd
  3. Gere uma URL assinada.

    • Formato 1:

      http://domain.example.com/a37fa50a5fb8f71214b1e7c95ec7a1bd/55CE8100/test.flv
    • Formato 2:

      http://domain.example.com/test.flv?KEY1=a37fa50a5fb8f71214b1e7c95ec7a1bd&KEY2=55CE8100

Quando um cliente usa uma URL assinada para requisitar um recurso, o Alibaba Cloud CDN compara o valor calculado de md5hash com o valor de md5hash presente na requisição. Se os valores forem iguais, como a37fa50a5fb8f71214b1e7c95ec7a1bd, a requisição passa na autenticação. Caso contrário, a autenticação falha.