Freigeben über


Legacysyntax für PlayReady-Testserver

Überblick

Der PlayReady Test Server unterstützt legacy-Syntax, um die Abwärtskompatibilität mit älteren PlayReady-Implementierungen und vorhandenen Clientanwendungen sicherzustellen. Bei diesem Legacyansatz werden vereinfachte Parameterformate und herkömmliche HTTP-Methoden verwendet, die seit frühen PlayReady-Versionen unterstützt werden.

Legacy-URL-Format

Die Legacysyntax verwendet eine vereinfachte URL-Struktur:

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

Unterstützte Legacyparameter

PlayRight-Parameter

Der PlayRight Parameter gibt grundlegende Lizenzberechtigungen an:

  • 1: Wiedergabe zulassen (Basislizenz)
  • 2: Wiedergabe mit Kopierschutz zulassen
  • 3: Zulassen der Wiedergabe mit erweitertem Schutz
  • 0: Verweigern der Wiedergabe (zum Testen von Ablehnungsszenarien)

Key ID-Parameter (kid)

Legacyformat unterstützt vereinfachte Schlüssel-ID-Spezifikation:

  • Standard-GUID-Format: 12345678-1234-1234-1234-123456789012
  • Vereinfachtes Format: 123456789012345678901234567890123456
  • Base64-codiertes Format: base64-encoded-key-id

Legacy-Lizenztypen

Einfache Wiedergabelizenz

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

Copy-Protected-Lizenz

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

Erweiterte Schutzlizenz

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

Legacy-HTTP-Methoden

POST-Anforderungsformat

Herkömmlicher SOAP-basierter Lizenzerwerb:

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>

GET-Anforderungsformat

Einfache GET-basierte Lizenzanforderungen:

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

Beispiele für die Clientintegration

Legacy-JavaScript-Implementierung

// 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

Legacy-C#-Implementierung

// 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);

Kompatibilitätsmatrix

PlayReady-Versionsunterstützung

PlayReady-Version Legacyunterstützung Empfohlener Ansatz
1.0 - 1.3 Vollständig Legacysyntax
2.0 - 2.3 Vollständig Legacy oder Modern
3.0+ Begrenzt Moderne Syntax
4.0+ Als veraltet markiert Moderne Syntax

Clientplattformunterstützung

Plattform Legacyunterstützung Hinweise
Windows Legacy Vollständig Ursprüngliche Implementierung
Silverlight Vollständig Legacy-Plattformunterstützung
Windows 10+ Begrenzt Moderne APIs bevorzugt
Mobile Plattformen Variiert Überprüfen der Plattformdokumentation

Migrationsleitfaden

Aus Legacysyntax

Beim Migrieren von legacysyntax zu modernen Ansätzen:

Schritt 1: Identifizieren der aktuellen Verwendung

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

Schritt 2: Zuordnung zu moderner Entsprechung

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

Schritt 3: Aktualisieren des Lizenzerwerbs

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

Einschränkungen der Legacysyntax

Funktionale Einschränkungen

  • Eingeschränkte Richtliniensteuerung: Nur grundlegende Wiedergabeberechtigungen
  • Keine erweiterten Features: Fehlende moderne DRM-Funktionen
  • Vereinfachter Schutz: Grundlegende Kopierschutzoptionen
  • Keine Domänenunterstützung: Domänengebundene Lizenzen werden nicht unterstützt.

Sicherheitsüberlegungen

  • Ältere Verschlüsselung: Verwendet ältere Verschlüsselungsmethoden
  • Eingeschränkte Überprüfung: Eingeschränkte Sicherheitsüberprüfung
  • Kompatibilitätsprobleme: Funktioniert möglicherweise nicht mit modernen Sicherheitsanforderungen

Testen von Legacyimplementierungen

Grundlegende Funktionalitätstests

// 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

Kompatibilitätstests

  1. Versionstests: Testen mit verschiedenen PlayReady-Versionen
  2. Plattformtests: Überprüfen auf unterstützten Plattformen
  3. Featuretests: Überprüfen verfügbarer Features funktionieren ordnungsgemäß
  4. Migrationstests: Testen von Upgradepfaden auf moderne Syntax

Fehlerbehandlung

Legacy-Specific Fehler

  • Nicht unterstütztes PlayRight: Ungültiger PlayRight-Parameterwert
  • Legacyschlüsselformat: Schlüssel-ID-Format wird im Legacymodus nicht unterstützt
  • Versionskonflikt: Clientversion mit Legacyserver nicht kompatibel

Format von Fehlerantworten

Legacyfehlerantworten verwenden ein vereinfachtes XML-Format:

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

Bewährte Methoden

Verwendung der Legacysyntax

  1. Legacysysteme: Unterstützen älterer PlayReady-Implementierungen
  2. Abwärtskompatibilität: Beibehalten der Kompatibilität mit vorhandenen Clients
  3. Einfache Anforderungen: Einfache Wiedergabe ohne erweiterte Features
  4. Migrationszeitraum: Während des Übergangs zu modernen Implementierungen

Berücksichtigen Sie bei neuen Implementierungen Folgendes:

Hinweis zur Abwärtskompatibilität

Hinweis: Die Unterstützung der Legacysyntax wird aus Gründen der Abwärtskompatibilität beibehalten, ist jedoch für neue Implementierungen veraltet. Erwägen Sie die Migration zur modernen Syntax für erweiterte Features und Sicherheit.

Support und Problembehandlung

Für Probleme mit der Legacysyntax:

  1. Überprüfen der PlayReady-Versionskompatibilität
  2. Überprüfen des Parameterformats und der Werte
  3. Testen mit vereinfachten Konfigurationen
  4. Erwägen Sie die Migration zur modernen Syntax.
  5. Überprüfen plattformspezifischer Dokumentation

Informationen zu Migrationsunterstützung und modernen Alternativen finden Sie in der Hauptdokumentation zu PlayReady-Testservern .