Вывести значение функций MediaDrmCallback - PullRequest
0 голосов
/ 23 апреля 2019

В настоящее время я работаю над DRM с ExoPlayer и пытаюсь выяснить, что возвращают функции MediaDrmCallback, т.е. executeProvisionRequest и executeKeyRequest как ByteArray.Я прочитал страницу разработчика для MediaDrm, но там написано, что сервер возвращает лицензию, которую я хотел бы распечатать, но единственная проблема в том, что она в ByteArray

. Я пытался использовать кодировку UTF-8 и кодировку ASCII, но оба они печатают некоторые неизвестныесимволы.

override fun executeProvisionRequest(uuid: UUID?, request: ExoMediaDrm.ProvisionRequest?): ByteArray {
    val url = request?.defaultUrl + "&signedRequest=" + String(request!!.data)
    return executePost(url, null, null)
}

override fun executeKeyRequest(uuid: UUID?, request: ExoMediaDrm.KeyRequest?): ByteArray {
    val requestProperties = HashMap<String, String>()
    requestProperties["X-AxDRM-Message"] = mAxDrmMessage
    return executePost(mLicenseServer, request!!.data, requestProperties)
}

1 Ответ

0 голосов
/ 24 апреля 2019

Если вы имеете в виду, что вы хотите распечатать саму лицензию, то есть ключ дешифрования, вы не сможете, поскольку системы DRM также шифруют ключ, и только сам клиент DRM настроен на его дешифрование.Это дешифрование не выполняется каким-либо открытым или наблюдаемым способом.

Одна из основных целей DRM-систем, таких как Widevine, PlayReady и т. Д., Заключается в безопасной передаче ключа между сервером лицензий и клиентом / проигрывателем.

...