Bagikan melalui


Verifikasi dan Inisialisasi

[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK, adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Sink. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Penulis Sink alih-alih Windows Media Format 11 SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Anda harus melakukan langkah-langkah berikut untuk memverifikasi bahwa transkripsi diizinkan dan untuk menginisialisasi objek yang akan mendekripsi konten:

  1. Jika Anda sudah memiliki ID Kunci untuk konten, lewati ke langkah 5.
  2. Panggil fungsi WMCreateEditor untuk membuat objek editor metadata dan dapatkan instans antarmuka IWMMetadataEditor objek tersebut.
  3. Panggil IWMMetadataEditor::QueryInterface untuk mendapatkan instans antarmuka IWMDRMEditor .
  4. Hubungi IWMDRMEditor::GetDRMProperty untuk mendapatkan properti DRM_DRMHeader_KeyID .
  5. Inisialisasi WINDOWS Media DRM Client Extended API dengan memanggil fungsi WMDRMStartup .
  6. Panggil fungsi WMDRMCreateProtectedProvider untuk membuat objek penyedia yang aman dan mendapatkan instans antarmuka IWMDRMProvider objek tersebut.
  7. Panggil IWMDRMProvider::CreateObject untuk membuat objek manajemen lisensi dan mendapatkan instans antarmuka IWMDRMLicenseManagement-nya .
  8. Panggil IWMDRMLicenseManagement::CreateLicenseEnumeration, meneruskan ID Kunci dan hak yang mengatur tindakan yang akan diambil dengan konten setelah ditranskripsi. Panggilan ini akan mengambil instans antarmuka IWMDRMLicense yang dapat digunakan untuk menghitung melalui lisensi yang cocok.
  9. Panggil IWMDRMLicense::GetInclusionList untuk mengambil daftar sistem perlindungan konten resmi (CPS) seperti yang ditentukan oleh penerbit lisensi.
  10. Uraikan daftar inklusi untuk mengonfirmasi bahwa GUID CPS output diizinkan oleh lisensi.
  11. Jika GUID ekspor yang diinginkan tidak ada dalam daftar penyertaan, panggil IWMDRMLicense::GetNext untuk mendapatkan lisensi berikutnya yang berlaku (jika ada) dan ulangi langkah 9 dan 10. Jika tidak ada lisensi yang memiliki GUID yang diinginkan dalam daftar penyertaannya, ekspor tidak dapat dilakukan.
  12. Panggil IWMDRMLicense::CreateSecureDecryptor untuk membuat objek dekripsi. Berikan sertifikat aplikasi ekspor. Panggilan ini akan memberikan penunjuk ke instans antarmuka IWMDRMDecrypt objek dekripsi dan objek biner yang berisi benih. Hanya konstanta Windows Media DRM_PROTECTION_TYPE_RC4 yang didukung sebagai argumen untuk parameter dwFlags saat ini.
  13. Gunakan skema enkripsi RSA OAEP untuk mendekripsi vektor inisialisasi.
  14. Gunakan pustaka penguraian ASF yang disediakan oleh Microsoft saat Anda memasuki perjanjian ekspor DRM Windows Media, untuk menemukan offset dalam byte untuk setiap payload.

Mengekspor Isi Terkompresi