Sigstore for .NET

A .NET library for generating and verifying Sigstore signatures.

Quick Start

Install the NuGet package:

dotnet add package Sigstore

Verify a Sigstore bundle:

using Sigstore;

var verifier = new SigstoreVerifier();
var bundle = SigstoreBundle.Deserialize(File.ReadAllText("artifact.sigstore.json"));

var policy = new VerificationPolicy
{
    CertificateIdentity = CertificateIdentity.ForGitHubActions("owner", "repo")
};

using var artifact = File.OpenRead("artifact.tar.gz");
var result = await verifier.VerifyStreamAsync(artifact, bundle, policy);

Console.WriteLine($"Verified: signed by {result.SignerIdentity!.SubjectAlternativeName}");

Features

  • Verify Sigstore bundles (v0.1, v0.2, v0.3) with full conformance
  • Sign artifacts using keyless Sigstore signing (Fulcio + Rekor)
  • DSSE envelope support for in-toto attestations
  • RFC 3161 timestamp verification
  • SCT (Signed Certificate Timestamp) verification
  • Rekor v1 and v2 transparency log verification
  • Ed25519 and ECDSA signature algorithms
  • Extensible trust root and certificate validation

Documentation

License

This project is licensed under the MIT License. See LICENSE for details.