Credential formats

LutraID issues and verifies exactly two formats. Which one a credential uses is decided by the document type, not by the API call.

Format identifierAlso calledType carried by
dc+sd-jwtSD-JWT VC (HAIP 1.0)vct
mso_mdocISO/IEC 18013-5 mdocdoctype

vc+sd-jwt is accepted on input as a legacy alias and normalised to dc+sd-jwt; it is never emitted. There is no jwt_vc_json and no ldp_vc.

Keys and algorithms

Key typesEC only — P-256 (default), P-384, P-521
JWSES256 / ES384 / ES512
COSE−7 / −35 / −36
Holder bindingJWK and COSE_Key, plus x5cno DID methods
Wallet proofsproofs.jwt only, signed ES256/384/512
SD-JWT digestssha-256

Encryption

Credential requests and responses may be encrypted with ECDH-ES and A128GCM or A256GCM; an encrypted response comes back as application/jwt. Request-encryption ephemeral keys must be P-256.

Validity

Declared but not implemented

Issuer metadata reserves deferred_credential_endpoint, notification_endpoint and batch_credential_issuance, and the credential request schema reserves credential_identifier. None of them are wired up — do not build against them.

Was this page helpful?