Table of Contents

Class SigningMetadata

Namespace
AsiBackbone.Core.Signing
Assembly
AsiBackbone.Core.dll

Represents provider-neutral signing metadata that can be carried by audit receipts, emission records, or provider adapters without requiring a concrete signing implementation.

public sealed class SigningMetadata
Inheritance
SigningMetadata
Inherited Members

Remarks

The metadata stores key references and signature descriptors only. It must not contain raw signing secrets, private keys, connection strings, credentials, or provider-specific secret material.

Properties

HasKeyReference

Gets a value indicating whether any signing key reference is present.

public bool HasKeyReference { get; }

Property Value

bool

HasMetadata

Gets a value indicating whether additional signing metadata is present.

public bool HasMetadata { get; }

Property Value

bool

HasSignature

Gets a value indicating whether a signature value or signature reference is present.

public bool HasSignature { get; }

Property Value

bool

HashAlgorithm

Gets the hash algorithm or hash descriptor associated with SigningHash, when supplied.

public string? HashAlgorithm { get; }

Property Value

string

IsSigned

Gets a value indicating whether this metadata represents a signed artifact.

public bool IsSigned { get; }

Property Value

bool

KeyId

Gets the signing key identifier, when supplied by a host or signing provider.

public string? KeyId { get; }

Property Value

string

KeyVersion

Gets the signing key version, when supplied by a host or signing provider.

public string? KeyVersion { get; }

Property Value

string

Metadata

Gets additional provider-neutral signing metadata.

public IReadOnlyDictionary<string, string> Metadata { get; }

Property Value

IReadOnlyDictionary<string, string>

NoSignature

Gets metadata with no hash, key reference, signature, provider, or signed timestamp.

public static SigningMetadata NoSignature { get; }

Property Value

SigningMetadata

Provider

Gets the provider or key-management system descriptor, when supplied.

public string? Provider { get; }

Property Value

string

Signature

Gets the provider-neutral signature value or encoded signature reference, when supplied.

public string? Signature { get; }

Property Value

string

SignatureAlgorithm

Gets the provider-neutral signature algorithm descriptor, when supplied.

public string? SignatureAlgorithm { get; }

Property Value

string

SignedUtc

Gets the UTC timestamp when the signature was produced, when supplied.

public DateTimeOffset? SignedUtc { get; }

Property Value

DateTimeOffset?

SigningHash

Gets the hash that was signed or is intended to be signed, when supplied by the host or signing provider.

public string? SigningHash { get; }

Property Value

string

Methods

Create(string?, string?, string?, string?, string?, string?, string?, DateTimeOffset?, IReadOnlyDictionary<string, string>?)

Creates provider-neutral signing metadata.

public static SigningMetadata Create(string? signingHash = null, string? hashAlgorithm = null, string? signature = null, string? signatureAlgorithm = null, string? keyId = null, string? keyVersion = null, string? provider = null, DateTimeOffset? signedUtc = null, IReadOnlyDictionary<string, string>? metadata = null)

Parameters

signingHash string
hashAlgorithm string
signature string
signatureAlgorithm string
keyId string
keyVersion string
provider string
signedUtc DateTimeOffset?
metadata IReadOnlyDictionary<string, string>

Returns

SigningMetadata