Delen via


Hoe te migreren vanaf eerdere versies van de PK en server

Aanbevelingen voor PlayReady-services

Microsoft raadt het volgende migratiebeleid aan:

  • Zorg ervoor dat een service wordt bijgewerkt naar de nieuwste versie van de PlayReady SDK. Dit biedt de beste compatibiliteit op nieuwe en verouderde apparaten. De recente versies van de Server SDK hebben ook aanzienlijke prestatie- en stabiliteitsverbeteringen toegevoegd. Houd er rekening mee dat er geen extra licentie- of licentiekosten nodig zijn om een upgrade uit te voeren naar de nieuwste PlayReady Server 4.0.

  • Naarmate nieuwe apparaten doorgaan met de migratie van PlayReady naar de hardware (SoC), worden er steeds meer apparaten gerapporteerd aan een service als PlayReady 3.0 en hoger en SL3000. Zo rapporteren alle Windows 10-apparaten nu als PlayReady 3.0 en hoger. Services worden aangemoedigd om een upgrade uit te voeren naar de nieuwste versie van de server-SDK om compatibiliteit te behouden en enkele van de nieuwe functies te gebruiken.

  • Gebruik de informatie in dit onderwerp als richtlijn voor het afhandelen van edge-zaken, zoals het onderhouden van verouderde licentieservices as-is terwijl u nieuwe apparaten ondersteunt.

  • Licentienemers kunnen contact opnemen askdrm@microsoft.com om toegang te krijgen tot onze feedbacksite om migratievragen in te dienen.

Aanbevelingen voor Fabrikanten van PlayReady-apparaten

Het wordt ten zeerste aangeraden dat OEM's hun apparaten upgraden naar PK4.0 die in oktober 2017 zijn uitgebracht. Dit is de enige versie waarmee apparaten gebruikmaken van de nieuwste functies die door de belangrijkste mediaservices worden geïmplementeerd.

Pros Nadelen - Aandachtspunten
Kan SL3000 ondersteunen Niet compatibel met Server SDK 1.X
Kan de nieuwste functies implementeren, zoals SecureStop, SecureDelete, MaxResDecode, enzovoort
Betere codebasis
Zorg ervoor dat nieuwe licentiebeleidsregels, zoals aangevraagd door eigenaren van inhoud, kunnen worden afgedwongen

OEM-upgradeplan

  1. Neem contact op met uw services en zorg ervoor dat ze allemaal een server-SDK 2.0+ versie migreren of toevoegen.

    • Controleer de sdk-versie van de server.

    • Herhaal de overwegingen met betrekking tot de dienst: geen aanvullende licentievereisten van Microsoft en geen extra kosten.

    • Als ze een server-SDK v2.0+ licentieservice uitvoeren, zijn ze waarschijnlijk compatibel. De service-URL's en scenario's in de volgende sectie kunnen helpen bij het testen van compatibiliteit.

    • Als ze een server-SDK v1 uitvoeren. Op X gebaseerde licentieserver kunnen ze hun licentieserver migreren of een nieuwere licentieserver toevoegen voor de nieuwe clients, op basis van server-SDK 2.0+ (meest recente versie wordt aanbevolen).

  2. Download pk 4.0 van Microsoft.

  3. Ontvang ondersteuning van Microsoft-partners of rechtstreeks van Microsoft door e-mail te verzenden naar AskDRM@microsoft.com.

  4. Implementeer PK 4.0 en laat uw product los.

Opmerkingen bij migraties voor diensten

Zorg ervoor dat de licentieserver de nieuwste versie van de Server-SDK uitvoert voor optimale apparaatcompatibiliteit. De meest recente Server SDK kan licenties leveren aan alle PlayReady-clients, ongeacht de gebruikte Porting Kit-versie. Als een client die is ontwikkeld met de 3.0 of hoger Device Porting Kit een licentie probeert te verkrijgen van een licentieservice met behulp van PlayReady SDK 1.x, retourneert de licentieservice een algemene SERVICEspecifieke SOAP-fout. De server meldt een uitzondering op het Windows-logboek dat de uitdaging ontbreekt in de clientcertificaatketen.

Een PlayReady-service migreren naar Server SDK 4.0

Bij een service-upgrade zijn meestal geen codewijzigingen betrokken, maar alleen een hercompilatie en implementatie van de bijgewerkte bibliotheken. In sommige gevallen kunnen er kleine codewijzigingen zijn vanwege sommige afgeschafte API's. De hercompilatie en implementatie van de licentiehandlerbibliotheek moeten transparant zijn voor apparaten die toegang hebben tot de service.

Bij het compileren en implementeren van een bijgewerkte licentie-handler moet rekening worden gehouden met het volgende:

  • Het project moet verwijzingen naar de oude PlayReady-bibliotheken verwijderen en verwijzen naar de nieuwe bibliotheken voordat ze opnieuw worden gecompileert.

  • Voor de nieuwere server-SDK's is .NET 4.0 of hoger vereist. Wanneer u de licentieservicehandler bijwerkt vanaf een vroege versie zoals 1.52, moet het doelframework worden bijgewerkt in de projecteigenschappen naar die van 4.0 of hoger.

    Doelplatform

  • Als de verouderde handler verwijst naar andere bibliotheken die zijn gericht op een .NET-versie kleiner dan 4.0, kunnen er extra migratiestappen zijn. Een .NET-bibliotheek kan echter verwijzen naar een mindere versie zonder problemen in het algemeen. Het is de moeite waard om de mogelijkheid te onderzoeken om bibliotheken waarnaar wordt verwezen, opnieuw te compileren naar de versie van de handler of bibliotheekupdates te verkrijgen voor onderdelen van derden.

  • Alleen naar Microsoft.Media.Drm.RMCore moet binnen het project worden verwezen. Bij het implementeren van een oplossing moeten de andere DLL's worden geïmplementeerd in de bin-map van de website. Ze hoeven niet binnen het project te worden verwezen, zoals het geval was bij eerdere SDK's.

    Verwijzen naar Microsoft.Media.Drm.RMCore

  • Een minimale .NET CLR-versie van 4.0 is vereist voor de groep toepassingen die wordt gebruikt door de licentieservice. Als de licentieservice 2.0 of eerder werd uitgevoerd, is het waarschijnlijk dat deze wordt uitgevoerd in een .NET CLR-versie lager dan 4.0.

    De groep van toepassingen bewerken

  • De nieuwste PlayReady Server SDK wordt alleen ondersteund onder Windows Server 2012 en hoger. Windows Server 2008 R2 staat er echter om bekend geen problemen te hebben met de Server SDK.

Ondersteuning voor verschillende Server SDK-versies voor een service

Microsoft raadt u aan om snel na de release naar de nieuwste versie van de SDK te migreren. In sommige gevallen wil een service echter mogelijk meerdere versies van de Server SDK uitvoeren. Dit kan worden veroorzaakt door het onderhouden van verouderde en archiefservices en eindpunten die niet eenvoudig worden bijgewerkt. In dit geval kan een service nieuwe clients naar een bijgewerkte licentieservice verwijzen terwijl de verouderde service ongewijzigd blijft. Een service kan bijvoorbeeld een aantal verouderde apparaten hebben in hun ecosysteem waarop een client wordt uitgevoerd die is gebouwd met PlayReady PK 1.2. Hun nieuwe apparaten worden ontwikkeld met behulp van de PlayReady PK 4.0. De nieuwe client moet verwijzen naar een licentieservice die is gebouwd met Server SDK 2.0 of hoger. Als zowel de verouderde als de nieuwe apparaten dezelfde toepassing gebruiken (zoals een op HTML gebaseerd app-platform), moet logica worden toegevoegd aan de toepassing om de versie van de client te detecteren. De clienttoepassing kan vervolgens licentieaanvragen doorsturen naar een nieuwere licentieservice.

De aanbevolen migratie is om de licentieservice bij te werken naar de nieuwste versie van de Server SDK. Dit kan compatibiliteit bieden voor alle apparaten voor veel services. Een service moet testen op verschillende clients om compatibiliteit te valideren.

Aanbevolen migratie

Als een service geen wijzigingen wil aanbrengen in een verouderde client- en serviceconfiguratie, is het raadzaam om een tweede licentieservice te hosten die is bijgewerkt naar de nieuwste versie van de SDK en wordt gebruikt door moderne clients.

Een tweede licentieservice hosten

Als een service gebruikmaakt van één clienttoepassing op zowel verouderde apparaten (PlayReady 1.X) als nieuwere apparaten (PlayReady 3.0 of hoger) moet deze twee PlayReady-licentieservers (PlayReady 1.X en PlayReady 3.0 of hoger) gebruiken om licenties te leveren aan al deze apparaten. De toepassing kan de logica bevatten om de aanvragen naar de juiste licentieserver te routeren op basis van de versie van de onderliggende PlayReady-client, of de service kan een serviceproxy gebruiken waarmee de aanvragen die afkomstig zijn van al deze apparaten op één URL naar de juiste licentieserver worden gerouteerd.

Een proxy configureren

Dit kan in een proxy worden gedaan door de licentievraag te inspecteren. De PK-versie wordt vermeld in het <CLIENTVERSION> element.

Het element bevindt zich in de SOAP-uitdaging onder het volgende element:

<Challenge><LA><CLIENTINFO><CLIENTVERSION>3.1.0.1017</CLIENTVERSION> 

Clients ondersteunen op basis van PK 3.0 of hoger met oude licentieservices

Een clientapparaat dat is ontwikkeld met de PlayReady Device Porting Kit 3.0 of hoger, werkt waarschijnlijk met bestaande services die zijn ontwikkeld met de Server SDK 2.0 of hoger. Zoals hierboven vermeld, moet een service PK 3.0- of hoger-clients testen om compatibiliteit te valideren.

Als het apparaat een SL3000-certificaat heeft, wordt securityLevel weergegeven via het clientcertificaat in de licentiehandler als 3000. Dit kan mogelijk problemen veroorzaken met sommige licentiehandlers als ze op zoek zijn naar een specifieke SecurityLevel-waarde om onderscheid te maken tussen productie- en testapparaten.

Differentiëren tussen SecurityLevels is gebruikelijk voor services die beperkte toegang tot inhoud bieden voor testapparaten om afspeellicenties van een liveservice te valideren. Alleen apparaten die zijn gerapporteerd als SecurityLevel 2000, hebben afspeellicenties voor commerciële inhoud. De service genereert een servicespecifieke uitzondering die zou leiden tot een SOAP-fout bij de client.

In het onderstaande voorbeeld wordt securityLevel gecontroleerd in het clientcertificaat om ervoor te zorgen dat het een productieapparaat is. Omdat het is vastgelegd in 2000, worden apparaten met het beveiligingsniveau van 3000 niet gezien als productieapparaten.

Beveiligingsniveau Gehardcodeerd

In dit volgende voorbeeld wordt de controle op beveiligingsniveau bijgewerkt naar of deze groter is dan of gelijk is aan 2000. Dit zorgt voor compatibiliteit met SL3000-apparaten.

Compatibiliteit met SL3000-apparaten

Ondersteuning voor PlayReady 3.X en hogere functies voor services

Naast het nieuwe hardware-DRM-beveiligingsniveau heeft PlayReady 3.0 en hogere releases ook diverse nieuwe functies geïntroduceerd. Om te kunnen profiteren van deze nieuwe functies, moet de service eerst bepalen of de client geschikt is voor PlayReady 3.0 en hogere functies. De clientcertificaatklasse ondersteunt nu een GetSupportedFeatures-methode die een verzameling functies retourneert om te helpen bij het definiëren van beleidsregels binnen de handler. Als de client is ontwikkeld met de 3.0 Device Porting Kit, heeft deze de eigenschap SupportedFeature.PlayReady3Features in de verzameling. Er zijn extra nuttige functies in de verzameling, zoals of de client een beveiligde klok of anti-terugdraaiklok gebruikt.

Hier volgt een voorbeeld van hoe u kunt detecteren of het apparaat een PlayReady 3.0-client is.

Een PlayReady 3-client detecteren

Zodra de handler heeft gedetecteerd, kan er beleid worden toegevoegd, zoals Secure Stop, realtime licentieverloop en MaxResDecode.

Ondersteuning voor zowel SL2000 als SL3000 bij dienstverlening

PlayReady heeft een nieuw beveiligingsniveau SL3000 geïntroduceerd dat wordt gerapporteerd door apparaten die voldoen aan het PlayReady-hardwarebeveiligingsniveau voor uitvoering in een vertrouwde uitvoeringsomgeving, zoals gedefinieerd in de regels voor naleving en robuustheid. Het is gebruikelijk dat sommige klanten rapporteren als SL2000 en andere als SL3000. In Windows kunnen oudere apparaten die zijn bijgewerkt naar Windows 10 bijvoorbeeld rapporteren als SL2000. Nieuwe Windows 10-apparaten rapporteren als SL3000 waar de DRM is opgenomen in de nieuwere chips.

Hier volgt een voorbeeld van een service die verschillend beleid biedt op basis van het gerapporteerde beveiligingsniveau van de uitdaging van de cliënt.

Verschillende beleidsregels op basis van SecurityLevel

Een service bepaalt hoe beleid moet verschillen tussen op software gebaseerde DRM-clients en hardwaregebaseerde DRM-clients. Dit beleid kan worden aangestuurd door studiovereisten. Een studio kan bijvoorbeeld in de toekomst vereisen dat Ultra-HD of 4K-inhoud wordt beperkt tot apparaten die ondersteuning bieden voor PlayReady DRM op basis van hardware.

Beleidsmaatregelen rond schermresoluties voor PlayReady 3.0 en later kunnen op een paar verschillende manieren worden uitgevoerd. Een manier is om het MaxResDecode-beleid van SL2000-licenties in te stellen op de toegestane limieten van de inhoudseigenaar. De SL3000-apparaten krijgen deze beleidsbeperking niet. Een andere optie die van toepassing is op adaptieve streamingtechnologieën is het gebruik van een andere KeyID bij het beveiligen van de verschillende resoluties. Bij het detecteren van het beveiligingsniveau kan een service vervolgens alleen licenties leveren voor de oplossingen die zijn toegestaan voor een client op basis van software. Een client die een beveiligingsniveau van SL3000 rapporteert, krijgt afspeellicenties voor alle resoluties. PlayReady heeft een nieuwe DRM-header (v4.2.0.0 en hoger) geïntroduceerd ter ondersteuning van dit laatste scenario door meerdere KeyID's in het schema in te schakelen.

Zie ook

PlayReady-productversies

PlayReady-clients testen met versies van de PlayReady Server SDK