Projekt techniczny platformy PC Streaming

Transkrypt

Projekt techniczny platformy PC Streaming
redCDN API – Serwer Licencji PlayReady
wersja 0.1.1
ATENDE Software sp. z o.o.
ul. Grochowska 21a, 04-186 Warszawa
tel. +48 22 51 56 100, fax. +48 22 51 56 600
www.atendesoftware.pl
Spis treści
Historia zmian.......................................................................................................................................... 3
Wstęp ...................................................................................................................................................... 4
Opis API ................................................................................................................................................... 5
Licencje non-persistent ....................................................................................................................... 5
Licencje persistent ............................................................................................................................... 5
2
Historia zmian
Wersja
0.1
0.1.1
3
Data
Autor zmiany
26.07.2013 Jarosław Walkiewicz
(ATENDE Software)
01.08.2013 Radosław Józwik
(ATENDE Software)

Opis zmian
Wstępna wersja opisu API

Rozbudowa opisu typów licencji
Wstęp
API serwera licencji służy do sterowania parametrami wydawanych licencji PlayReady. Serwer może
wydawać dwa rodzaje licencji: non-persistent oraz persistent.
Licencje non-persistent są ważne jedynie w ramach trwającej sesji komunikacyjnej. Ponowne
otworzenie zaszyfrowanego materiału wymaga wydania kolejnej licencji.
Licencje persistent są ważne przez czas określony parametrami API i są przechowywane na
urządzeniu końcowym, dzięki czemu zaszyfrowany materiał można otworzyć bez konieczności
ponownego wydawania licencji.
4
Opis API
W celu otrzymania licencji należy wysłać do serwera zapytanie HTTP POST. Parametry zapytania są
zależne od rodzaju licencji.
Licencje non-persistent
Opis
Licencje non-persistent są wydawane za każdym razem, kiedy klient próbuje
otworzyć zaszyfrowany materiał.
Metoda HTTP
POST
Nagłówki
żądania HTTP
Nazwa
Opis
Content-Type
text/xml; charset=utf-8
soapaction
http://schemas.microsoft.com/DRM/2007/03/protoc
ols/AcquireLicense
msprdrm_server_excepti
on_compat
false
msprdrm_server_redirec
t_compat
false
streaming
true
seed
<wartość zakodowana base64, zależna od materiału>
Treść żądania Treść żądania powinien stanowić challenge, czyli całość tego co wysyła odtwarzacz
HTTP
podczas pozyskiwania licencji.
Licencje persistent
Opis
Licencje persistent są wydawane na określony w nagłówkach żądania czas. Są one
przechowywane u klienta do momentu wygaśnięcia.
Metoda HTTP
POST
Nagłówki
żądania HTTP
Nazwa
Opis
Content-Type
text/xml; charset=utf-8
5
soapaction
http://schemas.microsoft.com/DRM/2007/03/protoc
ols/AcquireLicense
msprdrm_server_excepti
on_compat
false
msprdrm_server_redirec
t_compat
false
streaming
false
seed
<wartość zakodowana base64, zależna od materiału>
expiration
czas w sekundach na ile (od chwili obecnej) ma być
wystawiona licencja. Uwaga: gdy przekazywany jest
ten parametr, nie należy przekazywać parametrów
since i till.
since
czas początkowy, od którego ma obowiązywać
licencja, z dokładnością do sekundy (format: YYYYMM-DD
HH:MM:SS+KK:LL
lub
YYYY-MM-DD
HH:MM:SS - w tym przypadku występuje założenie, że
podany jest czas UTC). Uwaga: gdy przekazywany jest
ten parametr, nie należy przekazywać parametru
expiration. Należy razem z tym parametrem przekazać
parametr till.
till
czas końcowy, do którego ma obowiązywać licencja, z
dokładnością do sekundy (format: YYYY-MM-DD
HH:MM:SS+KK:LL lub YYYY-MM-DD HH:MM:SS - w
tym przypadku występuje założenie, że podany jest
czas UTC), który musi być większy od since. Uwaga:
gdy przekazywany jest ten parametr, nie należy
przekazywać parametru expiration. Należy razem z
tym parametrem przekazać parametr since.
Treść żądania Treść żądania powinien stanowić challenge, czyli całość tego co wysyła odtwarzacz
HTTP
podczas pozyskiwania licencji.
6