DID Document MUST be a single JSON Object conforming to RFC 7159. For purposes of this version of the DID specification, the format of this JSON Object is specified in JSON-LD, a format for mapping JSON data into the RDF semantic graph model as defined by JSON-LD. Future versions of this specification MAY specify other semantic graph formats for a DID Document such as JXD (JSON XDI Data), a serialization format for the XDIgraph model.

The following sections define the properties of this DID Document, including whether these properties are required or optional.

Public Keys - lists public keys whose corresponding private keys are controlled by the entity identified by the DID ("owned" public keys). However, a DID Document MAY also list "non-owned" public keys.

MAY include an owner property, which identifies the entity that controls the corresponding Private Key. If this property is missing, it is assumed to be the DID Subject.

The value property of a public key MAY be publicKeyPem, publicKeyJwk, publicKeyHex, publicKeyBase64 or similar, depending on the format and encoding of the Public Key. A registry of key types and formats is available in Appendix A. Registries .

The value of the serviceEndpoint property MUST be a JSON-LD object or a valid URI conforming to RFC 3986 and normalized according to the rules in section 6 of RFC 3986 and to any normalization rules in its applicable URI scheme specification.