Skip to main content

Core Profile Data Model

Terminology

For terms not explained in this document, please see Terminology.

  • Core Profile (CP)
  • Originator Profile (OP)
  • Originator Profile Identifier (OP ID)
  • OP VC Data Model Conforming Document (OP VC DM Compliance Document)
  • Profile Annotation (PA)

Core Profile (CP) Data Model

The Core Profile MUST be an OP VC DM compliant document and includes the following properties:

Properties

@context

REQUIRED. An ordered array of URLs, which MUST start with https://www.w3.org/ns/credentials/v2, followed by https://originator-profile.org/ns/credentials/v1.

type

REQUIRED. It MUST be ["VerifiableCredential", "CoreProfile"].

credentialSubject

REQUIRED. JSON-LD Node Object

credentialSubject.id

REQUIRED. It MUST be the OP ID of the CP holding organization.

credentialSubject.type

REQUIRED. It MUST be Core.

credentialSubject.jwks

REQUIRED. It MUST be a JWK Set, which is the set of public keys of the CP-holding organizations.

issuer

REQUIRED. It MUST be the OP ID of the VC issuing organization.

Extensibility

Issuers MUST NOT add properties to the Core Profile that are not defined in the OP VC Data Model and this document, and specification developers SHOULD strongly avoid adding properties to the Core Profile.

If you need to do this, consider extending and publishing the Web Media Profile or Profile Annotation.

Appendix

Example

This section is non-normative.

Below is an example of a Core Profile:

{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://originator-profile.org/ns/credentials/v1"
],
"type": ["VerifiableCredential", "CoreProfile"],
"issuer": "dns:example.org",
"credentialSubject": {
"id": "dns:example.jp",
"type": "Core",
"jwks": {
"keys": [
{
"x": "ypAlUjo5O5soUNHk3mlRyfw6ujxqjfD_HMQt7XH-rSg",
"y": "1cmv9lmZvL0XAERNxvrT2kZkC4Uwu5i1Or1O-4ixJuE",
"crv": "P-256",
"kid": "jJYs5_ILgUc8180L-pBPxBpgA3QC7eZu9wKOkh9mYPU",
"kty": "EC"
}
]
}
}
}