/*
 *

The request data is cryptographically signed by the client.
For JSON messages, we use JWS defined here: https://tools.ietf.org/html/draft-ietf-jose-json-web-signature-41
 
Definitions:
    EME-ResponseData.responseTime: The time that the response was created, according to the server, in UTC format. 
    EME-ResponseData.requestedKeys: The list of requested keys that were authorized for use by this client. 
    EME-ResponseData.requestedKeys.keyId: A key id from EME-SignedRequest.requestedKeyIds.
    EME-ResponseData.requestedKeys.key: The matching key encrypted for deliveryKeyIdentifier.
    EME-ResponseData.requestedKeys: The list of requested keys that were authorized for use by this client. 
    EME-ResponseData.expiration: OPTIONAL. The time after which this license should no longer be used, according to the server.
    EME-ResponseData.cachingAllowed: OPTIONAL. If true, application can use loadSession().
    EME-ResponseData.returnRequested: OPTIONAL. If true, application should call remove() when done with this license.
    EME-ResponseData.outputRestricted: OPTIONAL. If true, application should expect errors related to output restrictions.
    EME-SignedResponse.payload: The base-64 encoded EME-ResponseData
 *
 */
{
    "EME-ResponseData": {
        "responseTime": "1970-01-01T11:59:59.9Z",
        "requestedKeys": [
            { "keyId": "<KEY>", "key": "<BASE64-ENCODED-DATA>" },
        ],
        "expiration": "1970-01-01T11:59:59.9Z",
        "cachingAllowed": false,
        "returnRequested": false,
        "outputRestricted": false,
    },
}

{
    "EME-SignedResponse": {
        "payload": "<BASE64-ENCODED-DATA>",
        "protected":"<KEY>",
        "header": {
            "kid":"e9bc097a-ce51-4036-9562-d2ade882db0d",
        },
        "signature": "<BASE64-ENCODED-DATA>"
    }
}
