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"
}
]
}
}
}