SdJwt.Net.VcDm 1.0.6

dotnet add package SdJwt.Net.VcDm --version 1.0.6
                    
NuGet\Install-Package SdJwt.Net.VcDm -Version 1.0.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SdJwt.Net.VcDm" Version="1.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SdJwt.Net.VcDm" Version="1.0.6" />
                    
Directory.Packages.props
<PackageReference Include="SdJwt.Net.VcDm" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SdJwt.Net.VcDm --version 1.0.6
                    
#r "nuget: SdJwt.Net.VcDm, 1.0.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SdJwt.Net.VcDm@1.0.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SdJwt.Net.VcDm&version=1.0.6
                    
Install as a Cake Addin
#tool nuget:?package=SdJwt.Net.VcDm&version=1.0.6
                    
Install as a Cake Tool

SdJwt.Net.VcDm

W3C Verifiable Credentials Data Model 2.0 typed models, validation, and serialization for .NET.

Overview

This package provides a pure data-model layer for W3C VC Data Model 2.0. It is distinct from SdJwt.Net.Vc, which implements the IETF SD-JWT VC specification (draft-ietf-oauth-sd-jwt-vc) — a parallel, non-normatively-aligned credential format that does not use JSON-LD or W3C VCDM semantics.

This package handles:

  • jwt_vc_json — W3C VCDM 2.0 credential payload wrapped in a JWT
  • ldp_vc — W3C VCDM 2.0 credential with embedded Data Integrity proof

Use SdJwt.Net.Vc for:

  • dc+sd-jwt — IETF SD-JWT VC (selective disclosure, no JSON-LD)

Credential Format Map

OID4VCI Format Package Spec
dc+sd-jwt SdJwt.Net.Vc draft-ietf-oauth-sd-jwt-vc
mso_mdoc SdJwt.Net.Mdoc ISO 18013-5
jwt_vc_json SdJwt.Net.VcDm W3C VCDM 2.0 + JOSE
ldp_vc SdJwt.Net.VcDm W3C VCDM 2.0 + Data Integrity

Quick Start

using SdJwt.Net.VcDm.Models;
using SdJwt.Net.VcDm.Validation;

// Build a W3C Verifiable Credential
var credential = new VerifiableCredential
{
    Context = [VcDmContexts.V2, "https://schema.org/"],
    Type = ["VerifiableCredential", "UniversityDegreeCredential"],
    Id = "https://example.edu/credentials/3732",
    Issuer = new Issuer("https://example.edu/issuers/14"),
    ValidFrom = DateTimeOffset.UtcNow,
    CredentialSubject = new CredentialSubject
    {
        Id = "did:example:ebfeb1f712ebc6f1c276e12ec21",
        AdditionalClaims = new Dictionary<string, object>
        {
            ["degree"] = new { type = "BachelorDegree", name = "Bachelor of Science" }
        }
    }
};

// Validate the credential structure
var validator = new VcDmValidator();
var result = validator.Validate(credential);
if (!result.IsValid)
    Console.WriteLine(string.Join(", ", result.Errors));

// Serialize to JSON
var json = JsonSerializer.Serialize(credential, VcDmSerializerOptions.Default);

Key Classes

Class Purpose
VerifiableCredential W3C VCDM 2.0 credential document model
VerifiablePresentation W3C VCDM 2.0 presentation document model
Issuer String URL or { id, name, description } object
CredentialSubject Subject with optional id + additional claims
CredentialStatus Base class; BitstringStatusListEntry subtype
CredentialSchema Schema reference (id + type)
TermsOfUse Usage restriction (type + optional properties)
Evidence Evidence of claims (id, type, arbitrary properties)
VcDmContexts Well-known @context URL constants
VcDmValidator Structural validation (context, required fields)
VcDmSerializerOptions Pre-configured JsonSerializerOptions

VCDM 1.1 Backward Compatibility

The library reads (but does not write) the deprecated VCDM 1.1 properties:

VCDM 1.1 (deprecated) VCDM 2.0 (canonical)
issuanceDate validFrom
expirationDate validUntil
https://www.w3.org/2018/credentials/v1 https://www.w3.org/ns/credentials/v2

What This Package Does NOT Do

  • No JSON-LD @context expansion or RDF processing (requires json-ld.net or equivalent)
  • No Data Integrity proof generation or verification (requires ecdsa-rdfc-2019 / bbs-2023 suite)
  • No JWT signing or verification (use System.IdentityModel.Tokens.Jwt)

License

Apache-2.0 — OpenWallet Foundation Labs

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

  • net10.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SdJwt.Net.VcDm:

Package Downloads
SdJwt.Net.Oid4Vp

A .NET library for OpenID for Verifiable Presentations (OID4VP) 1.0 protocol implementation. Provides transport-agnostic data models and utilities for verifying SD-JWT presentations with Presentation Exchange v2.1.1 validation support. Ready for .NET 10.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.6 181 5/10/2026
1.0.5 184 5/9/2026

Initial release: W3C VCDM 2.0 typed models, IssuerJsonConverter,
CredentialStatusConverter, VcDmValidator with context and required-field checks,
backward-compat issuanceDate/expirationDate reading.