Vereisten voor en configuratie van Apple FairPlay-licenties
Waarschuwing
Azure Media Services wordt op 30 juni 2024 buiten gebruik gesteld. Zie de handleiding voor buitengebruikstelling van AMS voor meer informatie.
Met Azure Media Services kunt u uw HLS-inhoud versleutelen met Apple FairPlay Streaming (AES-128 CBC). Media Services biedt ook een service voor het leveren van FairPlay-licenties. FairPlay Streaming is een Technologie van Apple die alleen beschikbaar is voor video die is overgebracht via HTTP Live Streaming (HLS) op iOS-apparaten, in Apple TV en in Safari op macOS. Wanneer een Apple-client probeert uw met FairPlay beveiligde inhoud af te spelen via de HLS-indeling, wordt er een aanvraag verzonden naar de service voor het leveren van licenties om een licentie te verkrijgen. Als de licentieservice de aanvraag goedkeurt, geeft deze de licentie uit die naar de client wordt verzonden en wordt gebruikt om de opgegeven inhoud te ontsleutelen en af te spelen.
Media Services biedt ook API's die u kunt gebruiken om uw FairPlay-licenties te configureren. In dit onderwerp worden de FairPlay-licentievereisten besproken en wordt gedemonstreert hoe u een FairPlay-licentie kunt configureren met behulp van Media Services-API's.
Vereisten
Het volgende is vereist wanneer u Media Services gebruikt om uw HLS-inhoud te versleutelen met Apple FairPlay en Media Services te gebruiken om FairPlay-licenties te leveren:
Meld u aan bij het Apple Development Program.
Apple vereist dat de eigenaar van de inhoud het implementatiepakket verkrijgt. Geef aan dat u Key Security Module (KSM) al hebt geïmplementeerd met Media Services en dat u het uiteindelijke FPS-pakket aanvraagt. Het uiteindelijke FPS-pakket bevat instructies voor het genereren van certificering en het verkrijgen van de application secret key (ASK). U gebruikt ASK om FairPlay te configureren.
De volgende zaken moeten worden ingesteld aan de zijde van de levering van Media Services-sleutels/licenties:
App-certificaat (AC): dit is een PFX-bestand dat de persoonlijke sleutel bevat. U maakt dit bestand en versleutelt het met een wachtwoord. Het PFX-bestand moet de Base64-indeling hebben.
In de volgende stappen wordt beschreven hoe u een PFX-certificaatbestand voor FairPlay genereert:
Installeer OpenSSL vanuit https://slproweb.com/products/Win32OpenSSL.html.
Ga naar de map met het FairPlay-certificaat en andere bestanden die door Apple worden geleverd.
Voer de volgende opdracht uit via de opdrachtregel. Hiermee wordt het .cer-bestand geconverteerd naar een PEM-bestand.
"C:\OpenSSL-Win32\bin\openssl.exe" x509 -inform der -in FairPlay.cer -out FairPlay-out.pem
Voer de volgende opdracht uit via de opdrachtregel. Hiermee wordt het PEM-bestand geconverteerd naar een PFX-bestand met de persoonlijke sleutel. Het wachtwoord voor het PFX-bestand wordt vervolgens gevraagd door 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
App-certificaatwachtwoord: het wachtwoord voor het maken van het PFX-bestand.
VRAAG: Deze sleutel wordt ontvangen wanneer u de certificering genereert met behulp van de Apple Developer-portal. Elk ontwikkelteam ontvangt een unieke ASK. Sla een kopie van de ASK op en sla deze op een veilige plaats op. U moet ASK configureren als FairPlayAsk met Media Services.
De volgende dingen moeten worden ingesteld door de FPS-clientzijde:
- App Cert (AC): dit is een .cer/.der-bestand dat de openbare sleutel bevat die door het besturingssysteem wordt gebruikt om een nettolading te versleutelen. Media Services moet op de hoogte zijn, omdat het vereist is voor de speler. De sleutelleveringsservice ontsleutelt deze met behulp van de bijbehorende persoonlijke sleutel.
Als u een met FairPlay versleutelde stream wilt afspelen, haalt u eerst een echte ASK op en genereert u vervolgens een echt certificaat. Dit proces maakt alle drie de onderdelen:
- .der bestand
- .pfx-bestand
- wachtwoord voor de .pfx
Notitie
Azure Media Services controleert de vervaldatum van het certificaat niet tijdens het verpakken of leveren van sleutels. Het blijft werken nadat het certificaat is verlopen.
FairPlay- en speler-apps
Wanneer uw inhoud is versleuteld met Apple FairPlay, worden de afzonderlijke video- en audiosamples versleuteld met behulp van de AES-128 CBC-modus . FairPlay Streaming (FPS) is geïntegreerd in de besturingssystemen van het apparaat, met systeemeigen ondersteuning op iOS en Apple TV. Safari op OS X schakelt FPS in met behulp van de eme-interfaceondersteuning (Encrypted Media Extensions).
Azure Media Player biedt ook ondersteuning voor het afspelen van FairPlay. Zie documentatie voor Azure Media Player voor meer informatie.
U kunt uw eigen speler-apps ontwikkelen met behulp van de iOS SDK. Als u FairPlay-inhoud wilt afspelen, moet u het protocol voor licentie-uitwisseling implementeren. Dit protocol is niet opgegeven door Apple. Het is aan elke app om aanvragen voor sleutellevering te verzenden. De Media Services FairPlay-sleutelleveringsservice verwacht dat de SPC wordt geleverd als een met www-form-URL gecodeerd bericht, in de volgende vorm:
spc=<Base64 encoded SPC>
Een persoonlijke FairPlay-sleutel (.pfx) opslaan in Azure Key Vault
De persoonlijke sleutel (.pfx) die u van Apple ontvangt, moet worden behandeld als een beveiligd certificaat en kan worden opgeslagen in de Azure Key Vault.
- Het PFX-certificaatbestand moet eerst door de beheerder worden geconverteerd naar het base 64-tekstbestand
- Na het converteren kan dit bestand als een beveiligd tekstbestand worden opgeslagen in Azure DevOps Services.
- De tekenreeks kan vervolgens handmatig worden opgeslagen in Azure KeyVault als een 'geheim object' of als onderdeel van een implementatie-/buildscript voor uw oplossing. Een voorbeeld van het opslaan van het persoonlijke FairPlay-certificaat in Azure KeyVault is te zien in de voorbeeldcode van het Gridwich-project
- Sla het wachtwoord voor het PFX-bestand desgewenst op als een geheim in de sleutelkluis.
Voorbeeld van CLI-script
Het bestand met de met Base64 gecodeerde persoonlijke sleutel kopiëren naar 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
Help en ondersteuning
U kunt contact opnemen met Media Services als u vragen hebt of onze updates op een van de volgende manieren volgen:
- Q & A
-
Stack Overflow. Tag vragen met
azure-media-services
. - @MSFTAzureMedia of gebruik @AzureSupport om ondersteuning aan te vragen.
- Open een ondersteuningsticket via de Azure Portal.