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