Credential Types Configuration

The Issuer2 Service supports multiple credential formats. This guide explains how to configure the supported credential types for your issuer service.

Supported Formats

FormatConfiguration KeyDescription
SD-JWT VCvc+sd-jwtIETF SD-JWT Verifiable Credentials
W3C JWTjwt_vc_jsonW3C Verifiable Credentials with JWT signature
mDocmso_mdocISO 18013-5 Mobile Documents

Credential Configuration Structure

Credential types are configured in the supportedCredentialTypes object when creating or updating your issuer service.

SD-JWT VC Configuration

{
  "identity_credential_vc+sd-jwt": {
    "format": "vc+sd-jwt",
    "vct": "https://example.com/credentials/identity_credential",
    "cryptographic_binding_methods_supported": ["jwk"],
    "credential_signing_alg_values_supported": ["ES256"],
    "sdJwtVcTypeMetadata": {
      "name": "Identity Credential",
      "description": "A verifiable identity credential",
      "vct": "https://example.com/credentials/identity_credential"
    }
  }
}

SD-JWT VC Properties:

PropertyDescription
formatMust be vc+sd-jwt
vctVerifiable Credential Type URL
cryptographic_binding_methods_supportedSupported binding methods (e.g., jwk, did)
credential_signing_alg_values_supportedSupported signing algorithms
sdJwtVcTypeMetadataType metadata for the credential

W3C JWT Configuration

{
  "UniversityDegree_jwt_vc_json": {
    "format": "jwt_vc_json",
    "cryptographic_binding_methods_supported": ["did"],
    "credential_signing_alg_values_supported": ["ES256", "EdDSA"],
    "credential_definition": {
      "type": ["VerifiableCredential", "UniversityDegree"]
    }
  }
}

W3C JWT Properties:

PropertyDescription
formatMust be jwt_vc_json
cryptographic_binding_methods_supportedSupported binding methods
credential_signing_alg_values_supportedSupported signing algorithms
credential_definition.typeArray of credential types

mDoc Configuration

{
  "org.iso.18013.5.1.mDL": {
    "format": "mso_mdoc",
    "doctype": "org.iso.18013.5.1.mDL",
    "cryptographic_binding_methods_supported": ["cose_key"],
    "credential_signing_alg_values_supported": ["ES256"]
  }
}

mDoc Properties:

PropertyDescription
formatMust be mso_mdoc
doctypeThe mDoc document type
cryptographic_binding_methods_supportedMust include cose_key
credential_signing_alg_values_supportedSupported signing algorithms

Credential Configuration ID

The key used for each credential type in supportedCredentialTypes becomes the credentialConfigurationId. This ID is used when:

  1. Creating credential profiles
  2. Referencing credentials in the OpenID4VCI metadata
  3. Requesting specific credential types

Naming Convention:

{credentialType}_{format}

Examples:

  • UniversityDegree_jwt_vc_json
  • identity_credential_vc+sd-jwt
  • org.iso.18013.5.1.mDL

Complete Example

Here's a complete example of an issuer service configuration with multiple credential types:

{
  "type": "issuer2",
  "baseUrl": "https://myorg.enterprise-sandbox.waltid.dev",
  "kms": "waltid.tenant1.kms1",
  "tokenKeyId": "waltid.tenant1.kms1.tokenKey",
  "supportedCredentialTypes": {
    "identity_credential_vc+sd-jwt": {
      "format": "vc+sd-jwt",
      "vct": "https://myorg.example.com/credentials/identity",
      "cryptographic_binding_methods_supported": ["jwk"],
      "credential_signing_alg_values_supported": ["ES256"],
      "sdJwtVcTypeMetadata": {
        "name": "Identity Credential",
        "description": "Verifiable identity credential",
        "vct": "https://myorg.example.com/credentials/identity"
      }
    },
    "UniversityDegree_jwt_vc_json": {
      "format": "jwt_vc_json",
      "cryptographic_binding_methods_supported": ["did"],
      "credential_signing_alg_values_supported": ["ES256", "EdDSA"],
      "credential_definition": {
        "type": ["VerifiableCredential", "UniversityDegree"]
      }
    },
    "org.iso.18013.5.1.mDL": {
      "format": "mso_mdoc",
      "doctype": "org.iso.18013.5.1.mDL",
      "cryptographic_binding_methods_supported": ["cose_key"],
      "credential_signing_alg_values_supported": ["ES256"]
    }
  },
  "displayConfigurations": [
    {
      "name": "My Organization",
      "locale": "en-US"
    }
  ]
}

Signing Algorithms

The following signing algorithms are supported:

AlgorithmKey TypeDescription
ES256P-256 (secp256r1)ECDSA with SHA-256
ES384P-384ECDSA with SHA-384
ES512P-521ECDSA with SHA-512
EdDSAEd25519Edwards-curve Digital Signature Algorithm
RS256RSARSASSA-PKCS1-v1_5 with SHA-256
PS256RSARSASSA-PSS with SHA-256

Binding Methods

MethodDescriptionUse Case
didDID-based bindingW3C credentials with DID subjects
jwkJWK-based bindingSD-JWT VC with key binding
cose_keyCOSE key bindingmDoc credentials

Next Steps

Last updated on April 8, 2026