Table of Contents

Class ErrorCodes

Namespace
Tessio.Verifier.Core
Assembly
Tessio.Verifier.Core.dll

Stable machine-readable error codes carried in Code. Codes are part of the observable behavior (log/metric grouping) — treat as append-only. Public so application logic can branch on codes without magic strings.

public static class ErrorCodes
Inheritance
ErrorCodes
Inherited Members

Fields

AlgorithmNotAllowed

public const string AlgorithmNotAllowed = "algorithm_not_allowed"

Field Value

string

AudienceMismatch

public const string AudienceMismatch = "audience_mismatch"

Field Value

string

ClaimNameDuplicated

public const string ClaimNameDuplicated = "claim_name_duplicated"

Field Value

string

ClaimNameReserved

public const string ClaimNameReserved = "claim_name_reserved"

Field Value

string

ClaimNotDisclosable

public const string ClaimNotDisclosable = "claim_not_disclosable"

Field Value

string

ConfirmationKeyMissing

public const string ConfirmationKeyMissing = "confirmation_key_missing"

Field Value

string

CredentialExpired

public const string CredentialExpired = "credential_expired"

Field Value

string

CredentialNotYetValid

public const string CredentialNotYetValid = "credential_not_yet_valid"

Field Value

string

CredentialRevoked

public const string CredentialRevoked = "credential_revoked"

Field Value

string

CredentialStatusUnknown

public const string CredentialStatusUnknown = "credential_status_unknown"

Field Value

string

CredentialSuspended

public const string CredentialSuspended = "credential_suspended"

Field Value

string

DigestDuplicated

public const string DigestDuplicated = "digest_duplicated"

Field Value

string

DisclosureInvalid

public const string DisclosureInvalid = "disclosure_invalid"

Field Value

string

DisclosureUnreferenced

public const string DisclosureUnreferenced = "disclosure_unreferenced"

Field Value

string

FormatUnsupported

public const string FormatUnsupported = "format_unsupported"

Field Value

string

IssuerCertificateMismatch

No longer emitted. Kept so existing references still compile.

public const string IssuerCertificateMismatch = "issuer_certificate_mismatch"

Field Value

string

Remarks

It refused an x5c credential whose iss no subjectAltName named, which was draft-ietf-oauth-sd-jwt-vc-09's rule. Drafts -13 and -19 make the certificate subject the issuer instead, so such a credential now verifies and reports IssuerInfo.ClaimedIssuer.

IssuerKeyUnresolvable

public const string IssuerKeyUnresolvable = "issuer_key_unresolvable"

Field Value

string

IssuerMetadataInvalid

public const string IssuerMetadataInvalid = "issuer_metadata_invalid"

Field Value

string

IssuerTrustUnresolvable

The trust seam could not answer, for example because a trust list it reads is unreachable. The issuer was neither trusted nor refused, so the credential fails closed with this instead.

public const string IssuerTrustUnresolvable = "issuer_trust_unresolvable"

Field Value

string

IssuerUntrusted

public const string IssuerUntrusted = "issuer_untrusted"

Field Value

string

KeyBindingInvalid

public const string KeyBindingInvalid = "key_binding_invalid"

Field Value

string

KeyBindingMissing

public const string KeyBindingMissing = "key_binding_missing"

Field Value

string

NonceMismatch

public const string NonceMismatch = "nonce_mismatch"

Field Value

string

RequestExpired

The response arrived after the request it answers expired. Emitted for Digital Credentials API responses by the ASP.NET Core package's wallet response verifier.

public const string RequestExpired = "request_expired"

Field Value

string

RequestUnverifiable

The stored request a response is checked against no longer says what was asked for (its DCQL query or the credential type), so nothing the wallet returned could be checked against it. Emitted for Digital Credentials API responses by the ASP.NET Core package's wallet response verifier.

public const string RequestUnverifiable = "request_unverifiable"

Field Value

string

SdAlgUnsupported

public const string SdAlgUnsupported = "sd_alg_unsupported"

Field Value

string

SdHashMismatch

public const string SdHashMismatch = "sd_hash_mismatch"

Field Value

string

SessionMismatch

A same-device presentation verified, but the redirect back arrived in a different browser from the one that started the request, so the presentation was rejected. HAIP 1.0 section 5.1: "Verifiers MUST reject presentations if ... the redirect back arrives in a different user session to the one the request was initiated in." Emitted by the ASP.NET Core host's same-device flow, not by a credential verifier.

public const string SessionMismatch = "session_mismatch"

Field Value

string

SignatureInvalid

public const string SignatureInvalid = "signature_invalid"

Field Value

string

StatusInvalid

public const string StatusInvalid = "status_invalid"

Field Value

string

StatusUnresolvable

public const string StatusUnresolvable = "status_unresolvable"

Field Value

string

StructureInvalid

public const string StructureInvalid = "structure_invalid"

Field Value

string

TransactionDataAlgUnsupported

public const string TransactionDataAlgUnsupported = "transaction_data_alg_unsupported"

Field Value

string

TransactionDataHashMismatch

public const string TransactionDataHashMismatch = "transaction_data_hash_mismatch"

Field Value

string

TransactionDataMissing

public const string TransactionDataMissing = "transaction_data_missing"

Field Value

string

TrustListExpired

The issuer was refused because the trust list that would vouch for it is no longer current, so the list, not the issuer, is the cause. Reported when the resolver sets IssuerTrustStatus.TrustListExpired, which it does for a list past its next update (ETSI TS 119 612 V2.4.1 section 5.3.15) and may do for a closed one.

public const string TrustListExpired = "trust_list_expired"

Field Value

string

TypInvalid

public const string TypInvalid = "typ_invalid"

Field Value

string

VctMismatch

public const string VctMismatch = "vct_mismatch"

Field Value

string

VctMissing

public const string VctMissing = "vct_missing"

Field Value

string

WalletError

The wallet answered with an OpenID4VP Authorization Error Response instead of a presentation, for example because the holder declined. The wallet's own code is in the error's message. Anyone holding the request's state can send one, so it says what the sender claimed, not what the holder did. Emitted by the ASP.NET Core package's wallet response verifier and callback, not by a credential verifier.

public const string WalletError = "wallet_error"

Field Value

string