Data

DiME, the open and trust-based data format building secure Application-based Public-Key Infrastructures (APKIs) in a breeze.

The data item specified in for DiME data format may be used to send arbitrary data to entities within the Application-based Public-Key Infrastructure.

The following is an example of a DiME data item:

Di:DAT.eyJjdHgiOiJ0ZXN0LWNvbnRleHQiLCJleHAiOiIyMDIyLTEwLTIzVDEzOjQxOjU3LjcyOTIzMloiLCJpYXQiOiIyMDIyLTEwLTIzVDEzOjQwOjU3LjcyOTIzMloiLCJpc3MiOiJlZjRkNWJmMC1mOWVkLTQzZTktYmE3ZC0wMGNkNDEwYzJmMmMiLCJtaW0iOiJ0ZXh0L3BsYWluIiwidWlkIjoiMGE5NWM2YTUtYmQ3MC00NWZjLTk3ZmItZWQyNWMzODg5OGRlIn0.UmFjZWNhciBpcyByYWNlY2FyIGJhY2t3YXJkcy4

The header of a DiME data item is always 'DAT' as seen in the above example following the colon (':') after the envelope header ('Di').

Components

A DiME data item consists of several components. Each component is separated by a dot (‘.’), which is referred to as a component separator.

The following components make up a data item:

  • Header - always 'DAT'

  • Claims - required

  • Payload - required

  • Signature - optional

Claims

Claims are information or data related to the data item, or its payload. These may include an issued at date, an expiration date and the MIME type of the payload data.

Example of a decoded claims component:

{
    "ctx": "test-context",
    "exp": "2022-10-23T13:41:57.729232Z",
    "iat": "2022-10-23T13:40:57.729232Z",
    "iss": "ef4d5bf0-f9ed-43e9-ba7d-00cd410c2f2c",
    "mim": "text/plain",
    "uid": "0a95c6a5-bd70-45fc-97fb-ed25c38898de"
}

As any other DiME items, Data may use many different claims. For general information about claims refer to Claims.

MIME type

The MIME type ('mim') claim holds the type of data that has been attached to the DiME data item. This is an optional field, and its use when paring out the data is applicaiton-specific.

A MIME (Multipurpose Internet Mail Extensions) indicates the nature and format of the attached payload. MIME types are defined and standardized in RFC 6838.

Payload

The third component of a DiME data item is the data payload it carries. This may be any type of data, and its format and use is application-specific.

Before including the payload to attach will be Base64 encoded.

Signature

A DiME data item may be signed to protect its integrity. For additional information about signatures refer to Signature encoding.

Last updated