To send an entitlement message to a license service you have to wrap it into a License Service Message envelope and turn it into a sign JWT. For signing, you need your communication key.

3. Sign license service message

This article is a part of a DRM Quick Start Guide.

Before you can send an Entitlement Message to the License Service, you have to wrap it into a so called License Service Message and make a signed JWT token out of it.

License Service Message is a JSON data structure used as an envelope. Here is a minimalistic version (additionally, you can specify a time period of validity of the enclosed Entitlement Message):

Minimalistic License Service Message
{
  "version": 1,
  "com_key_id": communicationKeyId,
  "message": entitlementMessage
}

Here communicationKeyId is a value you received as a part of your DRM configuration (check My Mosaic / DRM), and an entitlementMessage is a JSON you generated in the previous section.

Caution
We highly recommend also setting a short expiration_date to limit unintended re-use of the tokens.

To create a JWT, use the License Service Message above as a payload and sign it with HMAC-SHA256 algorithm using your Communication Key as a signing key. Then apply base64 encoding.

The easiest way to do it: copy your JSON to the DRM Video Playback Tool under "License Service Message" and click the "License Service Message → JWT" button (add your Communication Key and Communication Key ID to the corresponding fields).

To generate a JWT programmatically, check Signing a License Service Message article. It shows how to create and sign the JWT in many programming languages, including JavaScript, C#, PHP, Python, Rust, Go, C++, Swift, Scala, Java.

To send your JWT to Axinom DRM License Service use one of the methods described in License Service Message.

See also