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
HasMetadata
Gets a value indicating whether additional signing metadata is present.
public bool HasMetadata { get; }
Property Value
HasSignature
Gets a value indicating whether a signature value or signature reference is present.
public bool HasSignature { get; }
Property Value
HashAlgorithm
Gets the hash algorithm or hash descriptor associated with SigningHash, when supplied.
public string? HashAlgorithm { get; }
Property Value
IsSigned
Gets a value indicating whether this metadata represents a signed artifact.
public bool IsSigned { get; }
Property Value
KeyId
Gets the signing key identifier, when supplied by a host or signing provider.
public string? KeyId { get; }
Property Value
KeyVersion
Gets the signing key version, when supplied by a host or signing provider.
public string? KeyVersion { get; }
Property Value
Metadata
Gets additional provider-neutral signing metadata.
public IReadOnlyDictionary<string, string> Metadata { get; }
Property Value
NoSignature
Gets metadata with no hash, key reference, signature, provider, or signed timestamp.
public static SigningMetadata NoSignature { get; }
Property Value
Provider
Gets the provider or key-management system descriptor, when supplied.
public string? Provider { get; }
Property Value
Signature
Gets the provider-neutral signature value or encoded signature reference, when supplied.
public string? Signature { get; }
Property Value
SignatureAlgorithm
Gets the provider-neutral signature algorithm descriptor, when supplied.
public string? SignatureAlgorithm { get; }
Property Value
SignedUtc
Gets the UTC timestamp when the signature was produced, when supplied.
public DateTimeOffset? SignedUtc { get; }
Property Value
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
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
signingHashstringhashAlgorithmstringsignaturestringsignatureAlgorithmstringkeyIdstringkeyVersionstringproviderstringsignedUtcDateTimeOffset?metadataIReadOnlyDictionary<string, string>