SdJwt.Net.StatusList
1.0.1
dotnet add package SdJwt.Net.StatusList --version 1.0.1
NuGet\Install-Package SdJwt.Net.StatusList -Version 1.0.1
<PackageReference Include="SdJwt.Net.StatusList" Version="1.0.1" />
<PackageVersion Include="SdJwt.Net.StatusList" Version="1.0.1" />
<PackageReference Include="SdJwt.Net.StatusList" />
paket add SdJwt.Net.StatusList --version 1.0.1
#r "nuget: SdJwt.Net.StatusList, 1.0.1"
#:package SdJwt.Net.StatusList@1.0.1
#addin nuget:?package=SdJwt.Net.StatusList&version=1.0.1
#tool nuget:?package=SdJwt.Net.StatusList&version=1.0.1
SdJwt.Net.StatusList - Status List Management
Implementation of OAuth Status List token creation and verification for revocation and suspension workflows.
Features
- Status List Token Issuance: Create signed
statuslist+jwttokens - Verifier Support: Fetch, validate, and evaluate status list entries
- Multi-bit Status Values: 1, 2, 4, or 8 bits per credential entry
- Caching and Retry Options: HTTP retrieval and cache controls in verifier options
- Operational Helpers: APIs for revoke, suspend, reinstate, and aggregation
Installation
dotnet add package SdJwt.Net.StatusList
Quick Start
Create a Status List Token
using SdJwt.Net.StatusList.Issuer;
using SdJwt.Net.StatusList.Models;
var statusManager = new StatusListManager(statusKey, SecurityAlgorithms.EcdsaSha256);
// 0 = valid, 1 = invalid, 2 = suspended (using 2 bits)
var statusValues = new byte[]
{
(byte)StatusType.Valid,
(byte)StatusType.Invalid,
(byte)StatusType.Suspended
};
var statusListToken = await statusManager.CreateStatusListTokenAsync(
subject: "https://issuer.example.com/status/1",
statusValues: statusValues,
bits: 2);
Check Credential Status
using SdJwt.Net.StatusList.Verifier;
using SdJwt.Net.StatusList.Models;
var statusVerifier = new StatusListVerifier(httpClient);
var statusClaim = new StatusClaim
{
StatusList = new StatusListReference
{
Index = 1,
Uri = "https://issuer.example.com/status/1"
}
};
var statusResult = await statusVerifier.CheckStatusAsync(
statusClaim,
issuer => ResolveStatusIssuerKeyAsync(issuer));
if (statusResult.IsValid)
{
Console.WriteLine("Credential status is valid.");
}
else
{
Console.WriteLine($"Credential status is {statusResult.Status} ({statusResult.StatusValue}).");
}
Common Use Cases
- Revocation: Mark credentials as invalid when compromised
- Temporary Suspension: Pause credentials during investigations
- High-volume Checking: Cache and validate status lists in verifier gateways
- Lifecycle Governance: Track status transitions as part of audit and compliance
Documentation
For complete workflows, see:
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.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net10.0
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net8.0
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
-
net9.0
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.0)
- Microsoft.Extensions.Caching.Memory (>= 9.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.6)
- SdJwt.Net (>= 1.0.1)
- System.IdentityModel.Tokens.Jwt (>= 8.12.1)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SdJwt.Net.StatusList:
| Package | Downloads |
|---|---|
|
SdJwt.Net.Vc
SD-JWT Verifiable Credentials implementation for .NET, compliant with draft-ietf-oauth-sd-jwt-vc-15. Extends SdJwt.Net with comprehensive VC functionality including validation, type safety, and digital credential 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. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 1.0.0: Production release implementing
draft-ietf-oauth-status-list-13 with
enhanced compression, multi-bit status support, and optimistic concurrency
control. Production-ready implementation with high-scale operations support.
Ready for .NET 10.