All Products
Search
Document Center

ApsaraVideo VOD:Tipe A penandatanganan

Last Updated:Jul 02, 2025

ApsaraVideo VOD memungkinkan Anda menggunakan fitur penandatanganan URL untuk melindungi konten asal dari unduhan dan akses tidak sah. Fitur ini mendukung tiga jenis penandatanganan. Topik ini menjelaskan cara kerja tipe A penandatanganan.

Cara kerjanya

Cara sebuah URL ditandatangani berdasarkan tipe A

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

Bidang dalam URL yang ditandatangani

Bidang

Deskripsi

DomainName

Nama domain untuk ApsaraVideo VOD.

Filename

URL sebenarnya yang menunjuk ke sumber daya yang diminta pada server asal. Nilai bidang Filename harus dimulai dengan garis miring (/).

auth_key

Kunci kriptografi yang Anda tentukan.

timestamp

Waktu ketika URL yang ditandatangani dihasilkan. Timestamp dan periode validitas default menentukan waktu kedaluwarsa URL yang ditandatangani. Waktu dalam UTC+8 dan mengikuti format YYYYMMDDHHMM.

Catatan

Dalam banyak kasus, URL yang ditandatangani akan kedaluwarsa setelah periode validitas default yang Anda tentukan di ApsaraVideo VOD berakhir. Jika Anda menentukan periode validitas untuk URL yang ditandatangani di server penandatanganan, timestamp dan periode validitas URL yang ditandatangani dihitung berdasarkan rumus berikut: Timestamp = UNIX timestamp di server penandatanganan + Periode validitas yang dikonfigurasikan di server penandatanganan. Periode validitas = Timestamp + Periode validitas default.

rand

Angka acak. Dalam banyak kasus, nilai bidang ini diatur ke 0. Jika Anda ingin menghasilkan URL yang berbeda setiap kali, kami sarankan Anda menggunakan UUID. Nilainya tidak boleh mengandung tanda hubung (-). Contoh: 477b3bbc253f467b8def6711128c****.

uid

ID pengguna. Atur bidang ini ke 0.

md5hash

String yang dihitung menggunakan algoritma MD5. String tersebut harus memiliki panjang 32 karakter dan dapat berisi angka serta huruf kecil.

md5hash dihitung berdasarkan string berikut:

sstring = "URI-timestamp-rand-uid-PrivateKey"
md5hash = md5sum(sstring)
  • URI: jalur relatif file yang diminta, tidak termasuk parameter. Contoh: /Filename.

  • PrivateKey: kunci utama atau kunci sekunder yang Anda konfigurasikan di konsol ApsaraVideo VOD. Untuk informasi lebih lanjut, lihat Aktifkan dan konfigurasikan penandatanganan URL.

  • md5sum: fungsi yang digunakan untuk menghitung nilai hash MD5. Gunakan fungsi perhitungan hash MD5 yang disediakan oleh bahasa pemrograman Anda.

Logika penandatanganan

Ketika titik kehadiran CDN Alibaba Cloud (POP) menerima permintaan, POP memeriksa apakah waktu yang dihitung dengan menambahkan nilai timestamp dan periode validitas default lebih awal dari waktu saat ini.

  • Jika waktu yang dihitung dengan menambahkan nilai timestamp dan periode validitas default lebih awal dari waktu saat ini, POP menentukan bahwa URL telah kedaluwarsa dan mengembalikan kode status HTTP 403.

  • Jika waktu yang dihitung dengan menambahkan timestamp dan periode validitas default lebih lambat dari waktu saat ini, POP menghasilkan string berdasarkan sstring yang dijelaskan dalam tabel sebelumnya. Kemudian, POP menggunakan algoritma MD5 untuk menghitung nilai md5hash dan membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan.

    • Jika kedua nilai berbeda, autentikasi gagal. POP mengembalikan kode status HTTP 403.

    • Jika kedua nilai sama, permintaan lolos autentikasi. POP mengembalikan sumber daya yang diminta.

      Catatan

      Jika permintaan lolos autentikasi, parameter spesifik autentikasi dihapus dari URL untuk meningkatkan rasio hit cache dan mengurangi lalu lintas asal.

      • Format URL dalam permintaan balik ke asal adalah http://DomainName/FileName.

      • Format URL yang digunakan untuk menghasilkan kunci cache adalah http://DomainName/FileName.

Contoh penggabungan URL yang ditandatangani

Contoh berikut menunjukkan cara mengimplementasikan Tipe A penandatanganan.

Kondisi contoh

  • Ambil objek dari server asal:

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

    Jika URL objek yang Anda ambil dari server asal mengandung karakter Cina, Anda harus mengkodekan URL sebelum menggabungkan URL yang ditandatangani.

  • Atur PrivateKey menjadi aliyunvodexp1234.

  • Konversikan timestamp ketika URL yang ditandatangani dihasilkan pada 2021-08-01 00:00:00 (UTC+8) menjadi bilangan bulat desimal 1.627.747.200.

Prosedur penggabungan

  1. Hasilkan string tanda tangan yang digunakan untuk menghitung nilai md5hash.

    /video/standard/test.mp4-1627747200-0-0-aliyunvodexp1234
  2. Hitung nilai md5hash berdasarkan string tanda tangan.

    HashValue = md5sum("/video/standard/test.mp4-1627747200-0-0-aliyunvodexp1234") = 0e9048c8c7de46b6015618f42de7****
  3. Hasilkan URL yang ditandatangani.

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

Jika klien menggunakan URL yang ditandatangani untuk meminta sumber daya, POP membandingkan nilai md5hash yang dihitung dengan nilai md5hash dalam permintaan. Jika kedua nilai sama, seperti 0e9048c8c7de46b6015618f42de7****, permintaan lolos autentikasi. Jika tidak, autentikasi gagal.