Hello
We had problems with the understanding of the work flow fairplay playback mechanism.
We have studied the proposed documentation and took ready player from Apple’s SDK.
We have supplier who provides the encrypted content and gave us information about certificate’s server, and KSM.
Problem:
1. Use HLS Catalog from SDK and added our content url with FairPlay
2. Implement public «func fetchApplicationCertificate () -> Data? {}»
We get SPC. To use the certificate provider and host of SKD loadingRequest.request. SCP we get successful. assetID certificate and encoded in UTF-8. These come, there are no errors.
3. Implement public «func contentKeyFromKeyServerModuleWithSPCData (spcData: Data, assetIDString: String) -> Data?»
SPC message is coded in base64. assetIDString not use this query (I need it? The documentation did not see how to add assetID in SPC message). And forwards to KSM server. In response comes a set of data.
4. The data obtained from the ksm does not change. Once redirected to the player.
dataRequest.respond (with: ckcData)
resourceLoadingRequest.finishLoading ()
We didn’t get any errors, but video didn’t start. The «ReadyToPlay» status didn’t come to our player. Player considers content invalid. And so, there is some question:
1. Which step isn’t right?
2. How can We track mistake?
3. Do we need our fairplay’s certificate? If yes, how to use it in application?