Commit Graph

74 Commits

Author SHA1 Message Date
rlaphoenix
23165f92de Cdm: Fix bug where context data may not correspond to the right license
We are using a trick with the request_id to be able to add an identifier between get_license_challenge() and parse_license() without any middleman data needing to be passed by the user.

Otherwise the user would need to either create the context data themselves after get_license_challenge() and pass it to get_license(), or something that is similar at its core to that.
2022-07-21 01:12:28 +01:00
rlaphoenix
68db728bf0 Cdm: Only store license request's context data
This reduces the amount of data needing to be stored, but also simplifies the key derivation.
2022-07-20 22:25:57 +01:00
rlaphoenix
53f7c1dd62 Cdm: Fix size and Improve code of Android Session IDs 2022-07-20 21:40:40 +01:00
rlaphoenix
e9e65e5760 Update license cmd to move license type from Cdm to get_license_challenge() 2022-07-20 21:11:01 +01:00
rlaphoenix
909e83c199 Cdm: Return a DecodeError in set_service_certificate
This is to match with the doc-string stating it returns a DecodeError on failure.
2022-07-20 20:55:08 +01:00
rlaphoenix
2bb5c9e0b5 Cdm: Remove unnecessary raw class instance variable 2022-07-20 20:37:04 +01:00
rlaphoenix
7f60844ee1 Cdm: Move License Type from constructor to get_license_challenge() 2022-07-20 20:36:17 +01:00
rlaphoenix
59615dd804 Add more information to poetry in pyproject 2022-07-20 15:03:37 +01:00
rlaphoenix
9aeef343ee Bump to v1.0.0 2022-07-20 14:55:47 +01:00
rlaphoenix
320d57eecf deps: Replace my pymp4 fork with official project 2022-07-20 14:55:07 +01:00
rlaphoenix
72281ece1c Add poetry script for a 'pywidevine' shiv 2022-07-20 14:47:24 +01:00
rlaphoenix
6a9e875e35 Add Test command, uses Bitmovin demo 'Art of Motion' 2022-07-20 14:46:36 +01:00
rlaphoenix
7f4ff5e0f0 Add License command for quick generic licensing 2022-07-20 14:45:28 +01:00
rlaphoenix
2701c7dcd0 Add main CLI function, shows version and homepage 2022-07-20 14:44:20 +01:00
rlaphoenix
36c83268c3 Add Widevine CDM Class
Please note that this CDM implementation isn't inherently secure. For more information see the README about Key and Output Security.

Also adds a utility to get an absolute path to something in the environment PATH, by multiple names, if found.
2022-07-20 14:41:42 +01:00
rlaphoenix
9331f4efc1 Add Widevine Key Class 2022-07-20 14:38:35 +01:00
rlaphoenix
5c9d4cda73 Add Widevine Device (.WVD) Class 2022-07-20 14:37:14 +01:00
rlaphoenix
35ccd2f393 Add PSSH Utility Class 2022-07-20 14:36:20 +01:00
rlaphoenix
681949bb43 Add CI/CD GitHub Workflows 2022-07-20 14:31:43 +01:00
rlaphoenix
a62a1f16f7 Add initial pyproject and poetry dependencies 2022-07-20 14:31:08 +01:00
rlaphoenix
ba0e89aea3 Add License Protocol Buffer 2022-07-20 14:30:29 +01:00
rlaphoenix
94b0b99912 Add README and Widevine Protocol Overview 2022-07-20 14:29:42 +01:00
rlaphoenix
74b672a670 Add gitignore and license 2022-07-20 14:29:17 +01:00
rlaphoenix
f4e2e83ed8 Add GitHub Issue Templates 2022-07-20 14:28:52 +01:00