Bagikan melalui


Persyaratan dan konfigurasi lisensi Apple FairPlay

Logo Azure Media Services v3


Peringatan

Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.

Azure Media Services membuat agar Anda dapat mengenkripsi konten HLS dengan Apple FairPlay Streaming (AES-128 CBC). Media Services juga menyediakan layanan untuk memberikan lisensi FairPlay. FairPlay Streaming adalah teknologi Apple yang hanya tersedia untuk video yang ditransfer melalui Streaming Langsung HTTP (HLS) di perangkat iOS, di Apple TV, dan di Safari di macOS. Saat klien Apple mencoba memutar konten yang dilindungi FairPlay melalui format HLS, permintaan akan dikirimkan ke layanan pengiriman lisensi guna mendapatkan lisensi. Jika layanan lisensi menyetujui permintaan, layanan mengeluarkan lisensi yang dikirim ke klien dan digunakan untuk mendekripsi dan memutar konten yang ditentukan.

Media Services juga menyediakan API yang dapat Anda gunakan untuk mengonfigurasi lisensi FairPlay Anda. Topik ini membahas persyaratan lisensi FairPlay dan menunjukkan bagaimana Anda dapat mengonfigurasi lisensi FairPlay menggunakan Media Services API.

Persyaratan

Berikut ini adalah hal yang diperlukan saat menggunakan Media Services untuk mengenkripsi konten HLS Anda dengan Apple FairPlay dan menggunakan Media Services untuk memberikan lisensi FairPlay:

  • Daftar dengan Program Pengembangan Apple.

  • Apple mengharuskan pemilik konten untuk mendapatkan paket penyebaran. Menyatakan bahwa Anda telah menerapkan Key Security Module (KSM) dengan Media Services dan bahwa Anda meminta paket FPS akhir. Ada petunjuk dalam paket FPS akhir untuk menghasilkan sertifikasi dan mendapatkan Kunci Rahasia Aplikasi (ASK). Anda menggunakan ASK untuk mengonfigurasi FairPlay.

  • Hal-hal berikut harus diatur pada sisi pengiriman kunci/lisensi Media Services:

    • App Cert (AC) : Ini adalah file .pfx yang berisi kunci privat. Anda membuat berkas ini dan mengenkripsinya dengan kata sandi. File .pfx harus dalam format Base64.

      Langkah-langkah berikut menjelaskan cara membuat file sertifikat .pfx untuk FairPlay:

      1. Instal OpenSSL dari https://slproweb.com/products/Win32OpenSSL.html.

        Buka folder tempat sertifikat FairPlay dan file lain yang dikirimkan oleh Apple berada.

      2. Jalankan perintah berikut ini dari baris perintah. Perintah berikut mengonversi file .cer ke file .pem.

        "C:\OpenSSL-Win32\bin\openssl.exe" x509 -inform der -in FairPlay.cer -out FairPlay-out.pem

      3. Jalankan perintah berikut ini dari baris perintah. Ini mengonversi file .pem ke file .pfx dengan kunci privat. Kata sandi untuk file .pfx kemudian diminta oleh OpenSSL.

        "C:\OpenSSL-Win32\bin\openssl.exe" pkcs12 -export -out FairPlay-out.pfx -inkey privatekey.pem -in FairPlay-out.pem -passin file:privatekey-pem-pass.txt

    • Kata sandi App Cert: Kata sandi untuk membuat file .pfx.

    • ASK: Kunci ini diterima saat Anda membuat sertifikasi dengan menggunakan portal Apple Developer. Setiap tim pengembangan menerima ASK yang unik. Simpan salinan ASK dan simpan di tempat yang aman. Anda perlu mengonfigurasi ASK sebagai FairPlayAsk dengan Media Services.

  • Hal-hal berikut harus ditetapkan oleh sisi klien FPS:

    • App Cert (AC) : Ini adalah file .cer/.der yang berisi kunci publik, yang digunakan sistem operasi untuk mengenkripsi beberapa payload. Media Services perlu mengetahuinya karena diperlukan oleh pemutar. Layanan pengiriman utama mendekripsinya menggunakan kunci pribadi yang sesuai.
  • Untuk memutar streaming terenkripsi FairPlay, dapatkan ASK nyata terlebih dahulu, lalu buat sertifikat nyata. Proses tersebut menciptakan ketiga bagian:

    • File .der
    • File .pfx
    • Kata sandi untuk .pfx

Catatan

Azure Media Services tidak memeriksa tanggal kedaluwarsa sertifikat selama pengemasan atau pengiriman kunci. Azure Media Services akan terus berfungsi setelah sertifikat kedaluwarsa.

Aplikasi pemutar dan FairPlay

Saat konten dienkripsi dengan Apple FairPlay, sampel video dan audio individual dienkripsi dengan menggunakan mode AES-128 CBC. FairPlay Streaming (FPS) diintegrasikan ke dalam sistem operasi perangkat, dengan dukungan asli di iOS dan Apple TV. Safari di OS X memungkinkan FPS dengan menggunakan dukungan antarmuka Encrypted Media Extensions (EME).

Azure Media Player juga mendukung pemutaran FairPlay. Untuk informasi selengkapnya, lihat Dokumentasi Azure Media Player.

Anda dapat mengembangkan aplikasi pemutar Anda sendiri dengan menggunakan iOS SDK. Agar dapat memutar konten FairPlay, Anda harus menerapkan protokol pertukaran lisensi. Protokol ini tidak ditentukan oleh Apple. Setiap aplikasi dapat memilih cara mengirim permintaan pengiriman utamanya sendiri. Layanan pengiriman kunci FairPlay Media Services mengharapkan SPC datang sebagai pesan posting yang dikodekan www-form-url, dalam bentuk berikut:

spc=<Base64 encoded SPC>

Menyimpan Kunci Privat FairPlay (.pfx) di Azure Key Vault

Kunci privat (.pfx) yang Anda terima dari Apple harus diperlakukan sebagai sertifikat yang aman dan dapat disimpan di Azure Key Vault.

  • File sertifikat .pfx harus terlebih dahulu dikonversi ke file teks base 64 oleh admin
  • Setelah dikonversi, file ini dapat disimpan di Azure DevOps Services sebagai file teks yang aman.
  • String kemudian dapat disimpan di Azure KeyVault secara manual sebagai "objek rahasia", atau sebagai bagian dari penyebaran/skrip build solusi Anda. Contoh penyimpanan sertifikat privat FairPlay di Azure KeyVault dapat dilihat dalam Kode sampel proyek Gridwich
  • Secara opsional, Anda dapat menyimpan kata sandi file .pfx sebagai rahasia di brankas kunci.

Contoh skrip CLI

Untuk menyalin file kunci privat yang dikodekan base64 ke Azure KeyVault:

set -eu
echo key vault : $SHARED_KV_NAME
echo "Copying FairPlay certificate to key vault as secret"
az keyvault secret set --vault-name $SHARED_KV_NAME -n ams-fairPlay-certificate-b64 -f $(FairPlayCertificate.secureFilePath) --output none

Mendapatkan bantuan dan dukungan

Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut: