Partager via


Syntaxe héritée pour le serveur de test PlayReady

Aperçu

Le serveur de test PlayReady prend en charge la syntaxe héritée pour garantir la compatibilité descendante avec les anciennes implémentations PlayReady et les applications clientes existantes. Cette approche héritée utilise des formats de paramètres simplifiés et des méthodes HTTP traditionnelles qui ont été prises en charge depuis les premières versions de PlayReady.

Format d’URL hérité

La syntaxe héritée utilise une structure d’URL simplifiée :

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=KEY_ID

Paramètres hérités pris en charge

Paramètre PlayRight

Le PlayRight paramètre spécifie les autorisations de licence de base :

  • 1 : Autoriser la lecture (licence de base)
  • 2 : Autoriser la lecture avec la protection contre la copie
  • 3 : Autoriser la lecture avec une protection renforcée
  • 0 : Refuser la lecture (pour tester les scénarios de refus)

Paramètre d’ID de clé (kid)

Le format hérité prend en charge la spécification simplifiée de l’ID de clé :

  • Format GUID standard : 12345678-1234-1234-1234-123456789012
  • Format simplifié : 123456789012345678901234567890123456
  • Format codé en base64 : base64-encoded-key-id

Types de licences hérités

Licence de lecture de base

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=12345678-1234-1234-1234-123456789012

licence Copy-Protected

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=2&kid=12345678-1234-1234-1234-123456789012

Licence de protection améliorée

https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=3&kid=12345678-1234-1234-1234-123456789012

Méthodes HTTP héritées

Format de requête POST

Acquisition traditionnelle de licence BASÉE sur SOAP :

POST /pr/svc/rightsmanager.asmx HTTP/1.1
Host: playready.directtaps.net
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Body>
    <AcquireLicense xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
      <challenge>base64-encoded-challenge</challenge>
    </AcquireLicense>
  </soap:Body>
</soap:Envelope>

Format de requête GET

Demandes de licence GET simples :

GET /pr/svc/rightsmanager.asmx?PlayRight=1&kid=12345678-1234-1234-1234-123456789012 HTTP/1.1
Host: playready.directtaps.net

Exemples d’intégration du client

Implémentation JavaScript héritée

// Legacy URL construction
function buildLegacyLicenseUrl(keyId, playRight) {
    return `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=${playRight}&kid=${keyId}`;
}

// Basic license request
const licenseUrl = buildLegacyLicenseUrl(keyId, 1);

// Use with legacy PlayReady implementations

Implémentation C# héritée

// Legacy license request construction
public string BuildLegacyLicenseUrl(string keyId, int playRight)
{
    return $"https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight={playRight}&kid={keyId}";
}

// Usage
string licenseUrl = BuildLegacyLicenseUrl(keyId, 1);

Matrice de compatibilité

Prise en charge de la version playReady

PlayReady Version Prise en charge héritée Approche recommandée
1.0 - 1.3 Complet Syntaxe héritée
2.0 - 2.3 Complet Hérité ou moderne
3.0+ Limité Syntaxe moderne
4.0+ Déconseillé Syntaxe moderne

Prise en charge de la plateforme cliente

Plate-forme Prise en charge héritée Remarques
Hérité De Windows Complet Implémentation d’origine
Silverlight Complet Prise en charge de la plateforme héritée
Windows 10+ Limité API modernes préférées
Plateformes mobiles Variable Vérifier la documentation de la plateforme

Conseils sur la migration

À partir de la syntaxe héritée

Lors de la migration de la syntaxe héritée vers des approches modernes :

Étape 1 : Identifier l’utilisation actuelle

// Current legacy usage
const legacyUrl = `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?PlayRight=1&kid=${keyId}`;

Étape 2 : Mapper à l’équivalent moderne

// Modern equivalent
const modernConfig = {
    licenseType: "persistent",
    keyId: keyId,
    policies: {
        playback: {
            allowOffline: true
        }
    }
};

Étape 3 : Mettre à jour l’acquisition de licences

// Modern license request
const licenseUrl = "https://playready.directtaps.net/pr/svc/rightsmanager.asmx";
// Include modern configuration in request body

Limitations de la syntaxe héritée

Limitations fonctionnelles

  • Contrôle de stratégie limité : autorisations de lecture de base uniquement
  • Aucune fonctionnalité avancée : fonctionnalités DRM modernes manquantes
  • Protection simplifiée : Options de protection de copie de base
  • Aucune prise en charge du domaine : les licences liées au domaine ne sont pas prises en charge

Considérations relatives à la sécurité

  • Chiffrement plus ancien : utilise des méthodes de chiffrement héritées
  • Validation limitée : validation de sécurité réduite
  • Problèmes de compatibilité : peut ne pas fonctionner avec les exigences de sécurité modernes

Test des implémentations héritées

Tests de fonctionnalités de base

// Test basic playback
testLegacyLicense(keyId, 1); // Should allow playback

// Test copy protection
testLegacyLicense(keyId, 2); // Should enable copy protection

// Test denial scenario
testLegacyLicense(keyId, 0); // Should deny playback

Test de compatibilité

  1. Test de version : test avec différentes versions de PlayReady
  2. Test de plateforme : vérifier sur les plateformes prises en charge
  3. Test des fonctionnalités : Valider les fonctionnalités disponibles fonctionnent correctement
  4. Test de migration : tester les chemins de mise à niveau vers la syntaxe moderne

Gestion des erreurs

erreurs de Legacy-Specific

  • PlayRight non pris en charge : valeur du paramètre PlayRight non valide
  • Format de clé hérité : format d’ID de clé non pris en charge en mode hérité
  • Incompatibilité de version : version du client incompatible avec le serveur hérité

Format de réponse d’erreur

Les réponses d’erreur héritées utilisent un format XML simplifié :

<?xml version="1.0" encoding="utf-8"?>
<Error>
    <Code>400</Code>
    <Message>Invalid PlayRight parameter</Message>
</Error>

Meilleures pratiques

Quand utiliser la syntaxe héritée

  1. Systèmes hérités : prise en charge des implémentations PlayReady plus anciennes
  2. Compatibilité descendante : maintien de la compatibilité avec les clients existants
  3. Exigences simples : lecture de base sans fonctionnalités avancées
  4. Période de migration : pendant la transition vers des implémentations modernes

Pour les nouvelles implémentations, envisagez les éléments suivants :

Note relative à la suppression de fonctionnalités

Remarque : la prise en charge de la syntaxe héritée est maintenue pour la compatibilité descendante, mais déconseillée pour les nouvelles implémentations. Envisagez de migrer vers la syntaxe moderne pour améliorer les fonctionnalités et la sécurité.

Support et résolution des problèmes

Pour les problèmes liés à la syntaxe héritée :

  1. Vérifier la compatibilité des versions playReady
  2. Vérifier le format et les valeurs des paramètres
  3. Tester avec des configurations simplifiées
  4. Envisager la migration vers une syntaxe moderne
  5. Passer en revue la documentation spécifique à la plateforme

Pour obtenir de l’aide sur la migration et les alternatives modernes, reportez-vous à la documentation principale des serveurs de test PlayReady .