mirror of
https://git.gay/ready-dl/pyplayready.git
synced 2026-01-12 06:28:59 +00:00
Optionally add custom data as a string in get_license_challenge
This commit is contained in:
parent
7e707a6d12
commit
2ff02eb15a
@ -94,7 +94,8 @@ class Cdm:
|
||||
self,
|
||||
session_id: bytes,
|
||||
wrm_header: Union[WRMHeader, str],
|
||||
rev_lists: Optional[List[UUID]]=None # default: RevocationList.SupportedListIds
|
||||
rev_lists: Optional[List[UUID]] = None, # default: RevocationList.SupportedListIds
|
||||
custom_data: Optional[str] = None
|
||||
) -> str:
|
||||
session = self.__sessions.get(session_id)
|
||||
if not session:
|
||||
@ -126,7 +127,8 @@ class Cdm:
|
||||
client_data=self._get_cipher_data(session),
|
||||
signing_key=self.signing_key,
|
||||
client_info=self.client_version,
|
||||
revocation_lists=rev_lists
|
||||
revocation_lists=rev_lists,
|
||||
custom_data=custom_data
|
||||
)
|
||||
soap_message = SoapMessage.create(acquire_license_message)
|
||||
|
||||
|
||||
@ -71,7 +71,8 @@ class XmlBuilder:
|
||||
wrmserver_data: bytes,
|
||||
client_data: bytes,
|
||||
client_info: Optional[str] = None,
|
||||
revocation_lists: Optional[List[UUID]] = None
|
||||
revocation_lists: Optional[List[UUID]] = None,
|
||||
custom_data: Optional[str] = None
|
||||
) -> ET.Element:
|
||||
LA = ET.SubElement(parent, "LA", {
|
||||
"xmlns": "http://schemas.microsoft.com/DRM/2007/03/protocols",
|
||||
@ -91,6 +92,10 @@ class XmlBuilder:
|
||||
if revocation_lists is not None:
|
||||
XmlBuilder._RevocationLists(LA, revocation_lists)
|
||||
|
||||
if custom_data is not None:
|
||||
CustomData = ET.SubElement(LA, "CustomData")
|
||||
CustomData.text = html.escape(custom_data)
|
||||
|
||||
LicenseNonce = ET.SubElement(LA, "LicenseNonce")
|
||||
LicenseNonce.text = base64.b64encode(get_random_bytes(16)).decode()
|
||||
|
||||
@ -161,7 +166,8 @@ class XmlBuilder:
|
||||
client_data: bytes,
|
||||
signing_key: ECCKey,
|
||||
client_info: Optional[str] = None,
|
||||
revocation_lists: Optional[List[UUID]] = None
|
||||
revocation_lists: Optional[List[UUID]] = None,
|
||||
custom_data: Optional[str] = None
|
||||
) -> ET.Element:
|
||||
AcquireLicense = ET.Element("AcquireLicense", {
|
||||
"xmlns": "http://schemas.microsoft.com/DRM/2007/03/protocols"
|
||||
@ -171,7 +177,7 @@ class XmlBuilder:
|
||||
"xmlns": "http://schemas.microsoft.com/DRM/2007/03/protocols/messages"
|
||||
})
|
||||
|
||||
LA = XmlBuilder._LicenseAcquisition(Challenge, wrmheader, protocol_version, wrmserver_data, client_data, client_info, revocation_lists)
|
||||
LA = XmlBuilder._LicenseAcquisition(Challenge, wrmheader, protocol_version, wrmserver_data, client_data, client_info, revocation_lists, custom_data)
|
||||
|
||||
Signature = ET.SubElement(Challenge, "Signature", {
|
||||
"xmlns": "http://www.w3.org/2000/09/xmldsig#"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user