I have registered for FPS and got ASk and fairplay.cer from Apple. With demo file AssetResourceLoaderDelegate.swift, I implement
func requestApplicationCertificate() throws -> Data {
let certificateURL = Bundle.main.url(forResource: "fairplay", withExtension: "cer")
let applicationCertificate: Data? = try? Data(contentsOf: certificateURL!)
return applicationCertificate!
}
and call
let ckcData = try self.requestContentKeyFromKeySecurityModule(spcData: spcData, assetID: assetIDString)
to send spcData to server.
But in server side, I save the spcData into a file, and verify it with verify_ckc tool, I got "SPC: cannot find TLLVs in the SPC" error!
So I have some questions:
1. there are some cases on web where *.der file is used to get applicationCertificate, is there differences between *.der and *.cer?
2. I get no error calling
let spcData = try resourceLoadingRequest.streamingContentKeyRequestData(forApp: applicationCertificate,
contentIdentifier: assetIDData,
options: nil)
, why the spcData can't pass the verify_ckc tool?
please let me know if something is wrong, thx!