I tried to use keysdb website, but it gave me errors.
MPD
PSSHCode:https://streamcdng7-b70cb04c54ab478189e9d8ee45637b13.msvdn.net/ostr2/podcastcdn/drm_root/DRMNagra_Universal_multiaudio/20941407_,1800,2400/playlist.m3u8?hdnea=st=1694710768~exp=1694710918~acl=/*~hmac=70faf576418ed4645864bb5e6178b373b3050657b0ed2bd5bc95c5ad088899ff
LicenseCode:AAAAd3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFcIARIQtnH44tQpMI6ewCrzs9I48RoFTmFncmEiOmRybV9yb290L0RSTU5hZ3JhX1VuaXZlcnNhbF9tdWx0aWF1ZGlvLzIwOTQxNDA3XywxODAwLDI0MDA=
HeadersCode:https://rai6nb5f.anycast.nagra.com/RAI6NB5F/fpls/contentlicenseservice/v1/licenses
Code:Accept: */* Content-Length: 7952 Host: rai6nb5f.anycast.nagra.com nv-authorizations: eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSldUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoiLCJleHAiOjE2OTQ3MDk2NTAsImNvbnRlbnRSaWdodHMiOlt7ImNvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1VuaXZlcnNhbF9tdWx0aWF1ZGlvLzIwOTQxNDA3XywxODAwLDI0MDAiLCJzdG9yYWJsZSI6ZmFsc2V9XX0.XQMFM2OSgN0ng59gwWv9NpdwljyHhQ8mpOtNa0HRfo0 Origin: https://www.raiplay.it Referer: https://www.raiplay.it/ User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15
MPD
PSSHCode:https://streamcdnm5-b70cb04c54ab478189e9d8ee45637b13.msvdn.net/ostr2/podcastcdn/drm_root/DRMNagra_Universal_multiaudio/20941486_,1800,2400/playlist.m3u8?hdnea=st=1694710954~exp=1694711104~acl=/*~hmac=42f53938e06107e571ab754d8797d9fa44b45bedbf1924e7db5a70916955c7a4
LicenseCode:AAAAd3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFcIARIQDAQsInpBPE21T/0FfZwNSRoFTmFncmEiOmRybV9yb290L0RSTU5hZ3JhX1VuaXZlcnNhbF9tdWx0aWF1ZGlvLzIwOTQxNDg2XywxODAwLDI0MDA=
HeadersCode:https://rai6nb5f.anycast.nagra.com/RAI6NB5F/fpls/contentlicenseservice/v1/licenses
Code:Accept: */* Content-Length: 8608 Host: rai6nb5f.anycast.nagra.com nv-authorizations: eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSldUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoiLCJleHAiOjE2OTQ3MTA5MjcsImNvbnRlbnRSaWdodHMiOlt7ImNvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1VuaXZlcnNhbF9tdWx0aWF1ZGlvLzIwOTQxNDg2XywxODAwLDI0MDAiLCJzdG9yYWJsZSI6ZmFsc2V9XX0.lum4EzW4eu_2fhnE0vFZfUWnK85A56P1lzsRxeZlIMY Origin: https://www.raiplay.it Referer: https://www.raiplay.it/ User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15
+ Reply to Thread
Results 1 to 30 of 50
-
-
Keep just "nv-authorizations" in headers field
Last edited by cedric8528; 14th Sep 2023 at 14:29.
-
I tried, but it gives me this error.
[Attachment 73806 - Click to enlarge]
Can anyone explain to me what I'm doing wrong? -
Header should be like that
Code:{ ‘nv-authorizations’= ‘eyJhbGciOiJIUzI1NiIsImtpZCI6IjE5MDEwIiwidHlwIjoiSldUIn0.eyJ2ZXIiOiIxLjAiLCJ0eXAiOiJDb250ZW50QXV0aFoiLCJleHAiOjE2OTQ3MTA5MjcsImNvbnRlbnRSaWdodHMiOlt7ImNvbnRlbnRJZCI6ImRybV9yb290L0RSTU5hZ3JhX1VuaXZlcnNhbF9tdWx0aWF1ZGlvLzIwOTQxNDg2XywxODAwLDI0MDAiLCJzdG9yYWJsZSI6ZmFsc2V9XX0.lum4EzW4eu_2fhnE0vFZfUWnK85A56P1lzsRxeZlIMY‘, }
-
same error for me, i think we need different l3.py to make work this kind of mpd
hi mate i have some problems with this kind of mpd
pssh:AAAAPHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAABwIA RIQrRUnxLzkTrOGBTsX045tFyIGQ1VQMDAz
url license: https://vds7b9j3.anycast.nagra.com/VkS7B9J3/wls/contentlicenseservice/v1/licenses
i use full headers from the post, but also just only nv-authorizations: but without result, i think i need special l3.p?
thanksLast edited by marioeivissa; 16th Nov 2023 at 12:47.
-
same post here https://forum.videohelp.com/threads/411574-Get-Widevine-Keys-Online/page3#post2712612
and also PM me. please don't be boring ... -
Last edited by marioeivissa; 16th Nov 2023 at 12:24.
-
Last edited by marioeivissa; 16th Nov 2023 at 12:39.
-
-
-
-
not this. i want something like that https://tv.vodafone.es/#!/watchtv/7910
-
https://tv.vodafone.es/#!/watchtv/427
but i know the keys, i dont want the keys i want my l3.py work properly for this, i want to know how a have to fix it -
maybe doesnt want give me the keys my l3.py because is hd format? maybe i need l1? for this?
-
my friend cedric, do you know why doesnt work anymore wks keys with this kind of mpd, no widevine, is a nagra license, and doesnt work just with nv authorization, need more headers maybe, i tried a lot of ways but not posible, maybe in losing something inside my script l3.py, can you help?
-
bkNvbnRyb2xFbmFibGVkIjpmYWxzZSwibWF4U2Vzc2lvbnMiOj N9LCJhY2NvdW50UHJvZmlsZUlkIjoiREVGQVVMVCIsIm9uTmV0 d29yayI6dHJ1ZX0.LX5ywmcbfRZuHJhsCyBZJDgod8-meBZGlxh8a1MXdWg
Traceback (most recent call last):
File "C:\Users\xxxxx\Desktop\WKS-KEYS0\l33.py", line 31, in <module>
correct, keys = WV_Function(pssh, lic_url)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\mario\Desktop\WKS-KEYS0\l33.py", line 22, in WV_Function
data = {"Nv-Authorizations":Nv-Authorizations,"rawLicenseRequestBase64":challenge b64}
^^
NameError: name 'Nv' is not defined -
-
yes my friend i tried with 3 or 4 differents l3.py one for non widevine, because is nagra sistem, but i put data=data, not json=data:
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
}
pssh = input('\nPSSH: ')
lic_url = input('License URL: ')
nv_authorizations = input('nv-authorizations: ')
def WV_Function(pssh, lic_url, cert_b64=None):
wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic)
challengeb64 = str(b64encode(wvdecrypt.get_challenge()),"utf-8")
data = {"nv-authorizations":nv-authorizations,"rawLicenseRequestBase64":challenge b64}
widevine_license = requests.post(url=lic_url, data=data, headers=headers)
print(widevine_license.request.body)
license_b64 = b64encode(widevine_license.content)
wvdecrypt.update_license(license_b64)
Correct, keyswvdecrypt = wvdecrypt.start_process()
if Correct:
return Correct, keyswvdecrypt
correct, keys = WV_Function(pssh, lic_url)
print()
for key in keys:
print('--key ' + key)
2......l3.py
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
}
pssh = input('\nPSSH: ')
lic_url = input('License URL: ')
nv_authorizations = input('nv-authorizations: ')
def WV_Function(pssh, lic_url, cert_b64=None):
wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic)
challengeb64 = str(b64encode(wvdecrypt.get_challenge()),"utf-8")
data = {"nv-authorizations":nv-authorizations,"widevinebody":challengeb64}
widevine_license = requests.post(url=lic_url, data=data, headers=headers)
print(widevine_license.request.body)
license_b64 = b64encode(widevine_license.content)
wvdecrypt.update_license(license_b64)
Correct, keyswvdecrypt = wvdecrypt.start_process()
if Correct:
return Correct, keyswvdecrypt
correct, keys = WV_Function(pssh, lic_url)
print()
for key in keys:
print('--key ' + key)
both with data=data, one with widevinebody and another one with rawlicense, because es nagra sistem, i dont know if this is important,
i tried with this one also
3.....l3.p
# -*- coding: utf-8 -*-
# Module: KEYS-L3
# Created on: 11-10-2021
# Authors: -∞WKS∞-
# Version: 1.1.0
# Modified by: CrymanChen
# Modified on: April 7, 2023
import base64, requests, sys, xmltodict
import headers
# 增加了一个第三方库pyperclip, 目的是将key(有时是多个key)快速复制到剪贴板中
import pyperclip
from pywidevine.L3.cdm import cdm, deviceconfig
from base64 import b64encode
from pywidevine.L3.getPSSH import get_pssh
from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt
pssh = input('\nPSSH: ')
lic_url = input('License URL: ')
def WV_Function(pssh, lic_url, cert_b64=None):
wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic)
widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers)
# 说明:
# 第24行需要根据不同的License类型做出调整, 不是一成不变的, 举例如下:
# ①查看License请求的cURL, 转换成适配Python的语句, 若最后一行像下面这样:
# response = requests.post('这里是License URL', headers=headers, data=data,)
# 则第24行无需修改, 只需将headers复制到headers.py中, 注意消息体的类型(Content-Type)有时不是application/x-www-form-urlencoded
# ②若最后一行像下面这样:
# response = requests.post('这里是License URL', headers=headers, data=data, params=params)
# 则需要增加参数(params), 一般解决办法是在"headers=headers.headers"的后面加入", json=params", 让参数以json格式传出去, 否则通常会返回HTTP 400/403/502
license_b64 = b64encode(widevine_license.content)
wvdecrypt.update_license(license_b64)
Correct, keyswvdecrypt = wvdecrypt.start_process()
if Correct:
return Correct, keyswvdecrypt
correct, keys = WV_Function(pssh, lic_url)
print()
for key in keys:
print('--key ' + key)
# 建立key_string字符串, 使得所有key进行如下变换: ①添加前缀"--key" ②使得每一个带有前缀的key以空格的形式连接起来(方便multi-keys时一键复制)
key_string = ' '.join([f"--key {key}" for key in keys])
# 使用导入的pyperclip库, 将key_string字符串复制至剪贴板, 省去手动选择"--key {key}"、复制、粘贴的麻烦
pyperclip.copy(key_string) -
-
really? i dont think is problem of time, because if i use the basadate of keyswd.net is not working also like months ago and i do really quickly, can you get the keys with your wks.keys? the point is i really want fix or to know the way to fix my l3.py to make work, thas all
i think is problem of headers, before work but know there are mpd tokenizaded and change a little bit, just with nv-authorizations is no enough, and i tried a lot of ways without result -
Please use code blocks to post code. It makes everything readable, as it's just a big blob of text now.
Then also: you declare your variable as nv_authorizations but you later call upon that variable using nv-authorizations so it throws an error because it doesn't know that variable. -
thank karoolus, i did this way also, but i did the other way without nv-auth....., and my l3.py doesnt give to me the keys, so its not this one the problem
i use also this l3.pyCode:# -*- coding: utf-8 -*- # Module: KEYS-L3 # Created on: 11-10-2021 # Authors: -∞WKS∞- # Version: 1.1.0 import base64, requests, sys, xmltodict import headers from pywidevine.L3.cdm import cdm, deviceconfig from base64 import b64encode from pywidevine.L3.getPSSH import get_pssh from pywidevine.L3.decrypt.wvdecryptcustom import WvDecrypt pssh = input('\nPSSH: ') lic_url = input('License URL: ') def WV_Function(pssh, lic_url, cert_b64=None): wvdecrypt = WvDecrypt(init_data_b64=pssh, cert_data_b64=cert_b64, device=deviceconfig.device_android_generic) widevine_license = requests.post(url=lic_url, data=wvdecrypt.get_challenge(), headers=headers.headers) license_b64 = b64encode(widevine_license.content) wvdecrypt.update_license(license_b64) Correct, keyswvdecrypt = wvdecrypt.start_process() if Correct: return Correct, keyswvdecrypt correct, keys = WV_Function(pssh, lic_url) print() for key in keys: print('--key ' + key)
Last edited by marioeivissa; 17th Nov 2023 at 08:20.
-
agree with Karoolus, you need post some screenshots or more infor, like license curl, payload and response ,or we dont know if it is json or raw.
Similar Threads
-
I need decryption key
By ansonbanana in forum Video Streaming DownloadingReplies: 43Last Post: 5th Mar 2024, 14:48 -
Can't find decryption key.
By phineferb98 in forum Video Streaming DownloadingReplies: 59Last Post: 11th Feb 2024, 07:03 -
WKS-KEY does not get decryption key
By HORDTHIONZAC in forum Video Streaming DownloadingReplies: 8Last Post: 17th Jun 2023, 05:46 -
Trying to find the decryption key for vrtnu
By thomasb in forum Video Streaming DownloadingReplies: 9Last Post: 24th Dec 2022, 10:33 -
How do I get the decryption key
By Bakekalu in forum Video Streaming DownloadingReplies: 6Last Post: 5th Jul 2021, 01:25