Udostępnij przez


Starsza składnia dla serwera testowego PlayReady

Przegląd

Serwer PlayReady Test Server obsługuje starszą składnię, aby zapewnić zgodność z poprzednimi wersjami ze starszymi implementacjami PlayReady i istniejącymi aplikacjami klienckimi. To starsze podejście korzysta z uproszczonych formatów parametrów i tradycyjnych metod HTTP, które były obsługiwane od wczesnych wersji PlayReady.

Starszy format adresu URL

Starsza składnia używa uproszczonej struktury adresu URL:

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

Obsługiwane starsze parametry

Parametr PlayRight

Parametr PlayRight określa podstawowe uprawnienia licencji:

  • 1: Zezwalaj na odtwarzanie (licencja podstawowa)
  • 2. Zezwalaj na odtwarzanie z ochroną kopiowania
  • 3. Zezwalaj na odtwarzanie z rozszerzoną ochroną
  • 0: Odmów odtwarzania (na potrzeby testowania scenariuszy odmowy)

Parametr identyfikatora klucza (kid)

Starszy format obsługuje uproszczoną specyfikację identyfikatora klucza:

  • Standardowy format identyfikatora GUID: 12345678-1234-1234-1234-123456789012
  • Uproszczony format: 123456789012345678901234567890123456
  • Format zakodowany w formacie Base64: base64-encoded-key-id

Starsze typy licencji

Podstawowa licencja odtwarzania

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

licencja Copy-Protected

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

Licencja rozszerzonej ochrony

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

Starsze metody HTTP

Format żądania POST

Tradycyjne pozyskiwanie licencji opartej na protokole 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 żądania GET

Proste żądania licencji oparte na get:

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

Przykłady integracji klienta

Starsza wersja implementacji języka JavaScript

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

Starsza implementacja języka C#

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

Macierz zgodności

Obsługa wersji PlayReady

Wersja PlayReady Wsparcie dla starszych technologii Zalecane podejście
1.0 - 1.3 Pełny Starsza składnia
2.0 - 2.3 Pełny Starsze lub nowoczesne
3.0+ Ograniczony Nowoczesna składnia
4.0+ Przestarzałe Nowoczesna składnia

Obsługa platformy klienta

Platforma Wsparcie dla starszych technologii Notatki
Starsza wersja systemu Windows Pełny Oryginalna implementacja
Silverlight Pełny Obsługa starszej platformy
Windows 10+ Ograniczony Preferowane nowoczesne interfejsy API
Platformy mobilne Różni się Zapoznaj się z dokumentacją platformy

Wskazówki dotyczące migracji

Ze starszej składni

Podczas migracji ze starszej składni do nowoczesnych podejść:

Krok 1. Identyfikowanie bieżącego użycia

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

Krok 2. Mapuj na nowoczesne odpowiedniki

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

Krok 3. Aktualizowanie pozyskiwania licencji

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

Ograniczenia starszej składni

Ograniczenia funkcjonalne

  • Ograniczona kontrola zasad: tylko uprawnienia do odtwarzania podstawowego
  • Brak zaawansowanych funkcji: brak nowoczesnych funkcji DRM
  • Uproszczona ochrona: podstawowe opcje ochrony kopii
  • Brak obsługi domeny: licencje powiązane z domeną nie są obsługiwane

Zagadnienia dotyczące zabezpieczeń

  • Starsze szyfrowanie: używa starszych metod szyfrowania
  • Ograniczona weryfikacja: ograniczona weryfikacja zabezpieczeń
  • Problemy ze zgodnością: może nie działać z nowoczesnymi wymaganiami dotyczącymi zabezpieczeń

Testowanie starszych implementacji

Podstawowe testy funkcjonalności

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

Testowanie zgodności

  1. Testowanie wersji: testowanie przy użyciu różnych wersji PlayReady
  2. Testowanie platformy: weryfikowanie na obsługiwanych platformach
  3. Testowanie funkcji: Sprawdzanie poprawności dostępnych funkcji działa poprawnie
  4. Testowanie migracji: Testowanie ścieżek uaktualniania do nowoczesnej składni

Obsługa błędów

błędy Legacy-Specific

  • Nieobsługiwany dramaturg: nieprawidłowa wartość parametru PlayRight
  • Starszy format klucza: format identyfikatora klucza nie jest obsługiwany w trybie starszym
  • Niezgodność wersji: wersja klienta niezgodna ze starszym serwerem

Format odpowiedzi na błąd

Starsze odpowiedzi na błędy używają uproszczonego formatu XML:

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

Najlepsze praktyki

Kiedy używać starszej składni

  1. Starsze systemy: obsługa starszych implementacji PlayReady
  2. Zgodność z poprzednimi wersjami: utrzymywanie zgodności z istniejącymi klientami
  3. Proste wymagania: podstawowe odtwarzanie bez zaawansowanych funkcji
  4. Okres migracji: podczas przejścia do nowoczesnych implementacji

W przypadku nowych implementacji rozważ następujące kwestie:

Powiadomienie o wycofaniu

Uwaga: Obsługa starszej składni jest utrzymywana w celu zapewnienia zgodności z poprzednimi wersjami, ale jest przestarzała w przypadku nowych implementacji. Rozważ migrację do nowoczesnej składni pod kątem rozszerzonych funkcji i zabezpieczeń.

Pomoc techniczna i rozwiązywanie problemów

W przypadku problemów ze starszą składnią:

  1. Weryfikowanie zgodności wersji PlayReady
  2. Sprawdzanie formatu parametrów i wartości
  3. Testowanie przy użyciu uproszczonych konfiguracji
  4. Rozważ migrację do nowoczesnej składni
  5. Zapoznaj się z dokumentacją specyficzną dla platformy

Aby uzyskać pomoc dotyczącą migracji i nowoczesne alternatywy, zapoznaj się z główną dokumentacją serwerów testowych PlayReady .