SdJwt.Net.Vc
1.0.1
See the version list below for details.
dotnet add package SdJwt.Net.Vc --version 1.0.1
NuGet\Install-Package SdJwt.Net.Vc -Version 1.0.1
<PackageReference Include="SdJwt.Net.Vc" Version="1.0.1" />
<PackageVersion Include="SdJwt.Net.Vc" Version="1.0.1" />
<PackageReference Include="SdJwt.Net.Vc" />
paket add SdJwt.Net.Vc --version 1.0.1
#r "nuget: SdJwt.Net.Vc, 1.0.1"
#:package SdJwt.Net.Vc@1.0.1
#addin nuget:?package=SdJwt.Net.Vc&version=1.0.1
#tool nuget:?package=SdJwt.Net.Vc&version=1.0.1
SdJwt.Net.Vc - Verifiable Credentials
Implementation of SD-JWT-based Verifiable Credentials aligned with draft-ietf-oauth-sd-jwt-vc-15. Provides strongly-typed models and comprehensive validation for verifiable credentials using the SD-JWT format.
Features
- Draft 15 Alignment: Core SD-JWT VC issuance and verification with draft-15 updates
- Type Safety: Strongly-typed models for all VC components
- Media Type Support: Support for both
dc+sd-jwtand legacyvc+sd-jwtmedia types - Status Integration: Built-in support for status claims and revocation checking
- VCT Validation: Collision-Resistant Name validation for VCT claims
Installation
dotnet add package SdJwt.Net.Vc
Quick Start
Issue a Verifiable Credential
using SdJwt.Net.Vc.Issuer;
var vcIssuer = new SdJwtVcIssuer(issuerKey, SecurityAlgorithms.EcdsaSha256);
var vcPayload = new SdJwtVcPayload
{
Issuer = "https://university.example.edu",
Subject = "did:example:student123",
IssuedAt = DateTimeOffset.UtcNow.ToUnixTimeSeconds(),
ExpiresAt = DateTimeOffset.UtcNow.AddYears(4).ToUnixTimeSeconds(),
AdditionalData = new Dictionary<string, object>
{
["degree"] = "Bachelor of Science",
["major"] = "Computer Science",
["gpa"] = 3.8,
["graduation_date"] = "2024-06-15"
}
};
var credential = vcIssuer.Issue(
"https://university.edu/credentials/degree",
vcPayload,
sdOptions,
holderJwk);
Verify a Verifiable Credential
using SdJwt.Net.Vc.Verifier;
var vcVerifier = new SdJwtVcVerifier(keyResolver);
var expectedNonce = "nonce-123";
var result = await vcVerifier.VerifyAsync(
presentation,
validationParams,
kbJwtValidationParameters: kbParams,
expectedKbJwtNonce: expectedNonce,
expectedVctType: "https://university.edu/credentials/degree");
var verifiedClaims = result.ClaimsPrincipal;
var verifiedVct = result.VctType;
Real-World Examples
- Medical Licenses: Healthcare professional credentials
- University Degrees: Academic achievement verification
- Employment Records: Job position and verification workflows
- Government IDs: Citizen identity credentials
Documentation
For comprehensive examples and integration patterns, see the main repository.
License
Licensed under the Apache License 2.0.
| Product | Versions 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. |
-
.NETStandard 2.1
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- SdJwt.Net.StatusList (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- SdJwt.Net.StatusList (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- SdJwt.Net.StatusList (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net9.0
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- SdJwt.Net.StatusList (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on SdJwt.Net.Vc:
| 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.0.0 support. Ready for .NET 10. |
|
|
SdJwt.Net.Wallet
Generic, extensible identity wallet implementation for .NET, supporting SD-JWT VC and mdoc credentials. Provides credential management, key management, OpenID4VCI/VP protocol adapters, and integration with trust infrastructure. Based on EUDI Android/iOS wallet architectures. |
|
|
SdJwt.Net.Eudiw
EU Digital Identity Wallet (EUDIW) profile implementation for the SD-JWT .NET ecosystem. Provides eIDAS 2.0 compliance, ARF validation, EU Trust List integration, PID credential handling, and QEAA/EAA support for European digital identity verification. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Draft-15 aligned SD-JWT VC implementation with strict typ validation,
metadata integrity verification, issuer metadata/JWKS key resolution, and
improved status and policy validation controls.