Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Assinatura do tipo A

Última atualização: Jun 27, 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 suporte a três tipos de assinatura. Este tópico descreve o funcionamento da assinatura do tipo A.

Como funciona

Assinatura de URL baseada no tipo A

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

Campos em uma URL assinada

Campo

Descrição

DomainName

Nome de domínio do ApsaraVideo VOD.

Filename

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

auth_key

Chave criptográfica especificada.

timestamp

Momento de geração da URL assinada. O timestamp e o período de validade padrão definem a expiração da URL. O horário segue o fuso UTC+8 e o formato AAAAMMDDHHMM.

Nota

Geralmente, a URL assinada expira após o término do período de validade padrão definido no ApsaraVideo VOD. Se você definir um período de validade para a URL assinada no servidor de assinatura, o sistema calcula o timestamp e o período de validade conforme a seguinte 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.

rand

Número aleatório. Geralmente, esse campo tem valor 0. Para gerar uma URL diferente a cada vez, use um UUID. O valor não pode conter hifens (-). Exemplo: 477b3bbc253f467b8def6711128c****.

uid

ID do usuário. Defina este campo como 0.

md5hash

String calculada pelo algoritmo MD5. Deve ter 32 caracteres e pode conter dígitos e letras minúsculas.

md5hash é calculado com base na seguinte string:

sstring = "URI-timestamp-rand-uid-PrivateKey"
    md5hash = md5sum(sstring)
  • URI: caminho relativo do arquivo solicitado, sem os parâmetros. Exemplo: /Filename.

  • PrivateKey: chave primária ou secundária configurada no console do ApsaraVideo VOD. Para mais informações, consulte Ativar e configurar a assinatura de URL.

  • md5sum: função usada para calcular o valor de hash MD5. Utilize a função de cálculo de hash MD5 fornecida pela sua linguagem de desenvolvimento.

Lógica de assinatura

Quando um ponto de presença (POP) do Alibaba Cloud CDN recebe uma solicitação, ele verifica se o horário resultante da soma de timestamp e default validity period é anterior ao horário atual.

  • Se o horário calculado pela soma de timestamp e default validity period for anterior ao horário atual, o POP considera a URL expirada e retorna o código de status HTTP 403.

  • Caso o horário resultante da soma de timestamp e default validity period seja posterior ao horário atual, o POP gera uma string baseada em sstring, conforme descrito na tabela anterior. Em seguida, usa o algoritmo MD5 para calcular o valor de md5hash e o compara com o valor de md5hash presente na solicitação.

    • Se os dois valores forem diferentes, a autenticação falha e o POP retorna o código de status HTTP 403.

    • Se os valores forem idênticos, a solicitação passa na autenticação e o POP retorna o recurso solicitado.

      Nota

      Após a aprovação na autenticação, o sistema remove os parâmetros específicos desse processo da URL para aumentar a taxa de acerto de cache e reduzir o tráfego de origem.

      • O formato da URL na solicitação de retorno à origem é http://DomainName/FileName.

      • O formato da URL usada para gerar uma chave de cache é http://DomainName/FileName.

Exemplo de concatenação de URL assinada

O exemplo a seguir demonstra como implementar a assinatura do tipo A.

Condições do exemplo

  • Recupere um objeto do servidor de origem:

    http://example.aliyundoc.com/video/standard/test.mp4
    Nota

    Se a URL do objeto recuperado do servidor de origem contiver caracteres chineses, codifique-a antes de concatenar a URL assinada.

  • Defina a PrivateKey como aliyunvodexp1234.

  • Converta o timestamp de geração da URL assinada, 2021-08-01 00:00:00 (UTC+8), para o inteiro decimal 1627747200.

Procedimento de concatenação

  1. Gere a string de assinatura usada para calcular o valor de md5hash.

    /video/standard/test.mp4-1627747200-0-0-aliyunvodexp1234
  2. Calcule o valor de md5hash com base na string de assinatura.

    HashValue = md5sum("/video/standard/test.mp4-1627747200-0-0-aliyunvodexp1234") = 0e9048c8c7de46b6015618f42de7****
  3. Gere a URL assinada.

    http://example.aliyundoc.com/video/standard/test.mp4?auth_key=1627747200-0-0-0e9048c8c7de46b6015618f42de7****

Ao receber uma solicitação de recurso via URL assinada, o POP compara o valor calculado de md5hash com o valor de md5hash enviado na solicitação. Se ambos forem iguais, como 0e9048c8c7de46b6015618f42de7****, a autenticação será bem-sucedida. Caso contrário, a autenticação falhará.