Forum

DRM Hack for CPIX / SPEKE

Aaron 2024-02-22 23:26:42 UTC in Nimble Streamer

I have almost gotten DRM to work all devices with my DRM Provider axinom by leveraging the Verimatrix VCAS CPIX integration for DRM and working some majic with an AWS API Gateway to route the CPIX message to my providers servers instead of Verimatrix which appears to work just fine. The issue I'm running into is nothing for Apple Fairplay works i.e. VOD or Live streams the decryption process fails. Widevine works just fine for both DASH and the new HLS implementation. I have identified the specific issue that is preventing the Apple Fairplay from working and that is in the CAMF m3u8 files under the EXE-X-KEY line the URI="" is blank. I created some test m3u8 files by hand where I have entered the value skd://{keyid}:{IV} and apple fairplay works at that point. My question is assuming this was not a hackjob and this really was a Verimatrix integration would uri parameter in the m3u8 file fill in correctly as done in the test above.

Max 2024-02-23 04:37:37 UTC 

Hello Aaron,

Nimble reads EXT-X-KEY value for FairPlay from URIExtXKey or HLSSignalingData in CPIX response, does axinom send anything in those fields? Where did you get skd://{keyid}:{IV} value for specific stream to insert into test m3u8 files?

Aaron 2024-02-23 17:16:39 UTC 

I pulled the data from the EXT-X-Key line that I am assuming is for the Widevine HLS Setup in the same m3u8 file when I created my manual test files. Based on your information above I can confirm with the CPIX data that nimble sends the axinom API doesn't return the URIExtXKey. Doing some testing with postman to the axinom API I was able to determine if the Fairplay section in the cpix message includes <cpix:URIExtXKey /> tag the data does then get returned. Looks like I'm going to have to do a little more coding to get this to work. I appreciated the help. I don't think I would have figured that one out on my own.

Max 2024-03-07 05:39:04 UTC 

Hello Aaron,

Nimble 4.1.1-8 should be able to fetch encryption keys from Axinom directly without proxy, try setting up DRM with "type = axinom" and also set axinom_tenant_id & axinom_management_key options in the corresponding section in drm.conf.

Yury 2024-03-07 11:54:43 UTC 

Aaron, please find the setup description in this article: https://blog.wmspanel.com/2024/03/axinom-drm.html

Post a reply


Post a new question

Categories:

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.