Class SdJwtVcVerifier
Verifies SD-JWT VC credentials (dc+sd-jwt): issuer signature (JWT VC Issuer Metadata or
X.509 x5c key resolution), selective-disclosure reconstruction, Key Binding, time claims,
and issuer trust via ITrustListResolver.
public sealed class SdJwtVcVerifier : ICredentialVerifier
- Inheritance
-
SdJwtVcVerifier
- Implements
- Inherited Members
Remarks
Structural violations (malformed credential, failed signature, RFC 9901 MUST-reject rules) yield a
single-error invalid result; policy failures (expiry, nonce/audience, trust, vct) are accumulated
so callers see every problem at once. All cryptography is delegated to
Microsoft.IdentityModel and System.Security.Cryptography — nothing custom.
Constructors
SdJwtVcVerifier(ITrustListResolver, SdJwtVcVerifierOptions?, HttpClient?, TimeProvider?)
Creates a verifier.
public SdJwtVcVerifier(ITrustListResolver trustListResolver, SdJwtVcVerifierOptions? options = null, HttpClient? httpClient = null, TimeProvider? clock = null)
Parameters
trustListResolverITrustListResolverTrust seam deciding whether the issuer is trusted.
optionsSdJwtVcVerifierOptionsPolicy options; defaults are HAIP-aligned.
httpClientHttpClientHTTP client for JWT VC Issuer Metadata resolution; a shared default is used when null.
clockTimeProviderTime source for exp/nbf evaluation; system clock when null.
Methods
VerifyAsync(PresentedCredential, VerificationContext, CancellationToken)
public Task<VerificationResult> VerifyAsync(PresentedCredential credential, VerificationContext context, CancellationToken ct = default)
Parameters
credentialPresentedCredentialcontextVerificationContextctCancellationToken
Returns
VerifyAsync(PresentedCredential, VerificationContext, TransactionDataExpectation?, CancellationToken)
Verifies a credential that must additionally acknowledge transaction data: the KB-JWT's
transaction_data_hashes must match transactionData exactly.
public Task<VerificationResult> VerifyAsync(PresentedCredential credential, VerificationContext context, TransactionDataExpectation? transactionData, CancellationToken ct = default)
Parameters
credentialPresentedCredentialcontextVerificationContexttransactionDataTransactionDataExpectationctCancellationToken