获取密钥请求数据出错:AVFoundationErrorDomain 原因:Optional("An unknown error occurred (-42650)")

Error obtaining key request data: AVFoundationErrorDomain reason: Optional("An unknown error occurred (-42650)")

我正在实施 Apple Fireplay DRM 以向设备传送加密内容。 我能够成功加载证书,但是当我尝试从 AVAssetResourceLoadingRequest 获取 SPC 数据时,出现此错误。

Error obtaining key request data: AVFoundationErrorDomain reason: Optional("An unknown error occurred (-42650)")

以下是检索 SPC 内容的代码

let spcData: Data!

    do {
        /* 
         To obtain the Server Playback Context (SPC), we call 
         AVAssetResourceLoadingRequest.streamingContentKeyRequestData(forApp:contentIdentifier:options:)
         using the information we obtained earlier.
         */
        spcData = try resourceLoadingRequest.streamingContentKeyRequestData(forApp: applicationCertificate, contentIdentifier: assetIDData, options: resourceLoadingRequestOptions)
    } catch let error as NSError {
        print("Error obtaining key request data: \(error.domain) reason: \(error.localizedFailureReason)")
        resourceLoadingRequest.finishLoading(with: error)
        return
    }

我已经在苹果开发者论坛上搜索了错误代码:42650,但没有成功!

我也遇到了这个错误。在我的例子中,我使用错误的数据格式生成 applicationCertificate(resourceLoadingRequest.streamingContentKeyRequestData(forApp:contentIdentifier:options:) 函数中的 appIdentifier 参数)给我的证书是 base64 编码的。所以我需要用 Data(base64Encoded: yourCertificateString).

创建数据