91 lines
2.2 KiB
C#
91 lines
2.2 KiB
C#
// -----------------------------------------------------------------------------
|
|
// VerifierOptions.cs
|
|
// Sprint: SPRINT_20260121_036_BinaryIndex_golden_corpus_bundle_verification
|
|
// Task: GCB-003 - Implement standalone offline verifier
|
|
// Description: Options for bundle verification
|
|
// -----------------------------------------------------------------------------
|
|
|
|
namespace StellaOps.Verifier;
|
|
|
|
/// <summary>
|
|
/// Options for bundle verification.
|
|
/// </summary>
|
|
public sealed class VerifierOptions
|
|
{
|
|
/// <summary>
|
|
/// Path to the bundle file to verify.
|
|
/// </summary>
|
|
public required string BundlePath { get; init; }
|
|
|
|
/// <summary>
|
|
/// Path to trusted public keys file.
|
|
/// </summary>
|
|
public string? TrustedKeysPath { get; init; }
|
|
|
|
/// <summary>
|
|
/// Path to trust profile JSON file.
|
|
/// </summary>
|
|
public string? TrustProfilePath { get; init; }
|
|
|
|
/// <summary>
|
|
/// Path to write verification report.
|
|
/// </summary>
|
|
public string? OutputPath { get; init; }
|
|
|
|
/// <summary>
|
|
/// Output format for the report.
|
|
/// </summary>
|
|
public ReportFormat OutputFormat { get; init; } = ReportFormat.Markdown;
|
|
|
|
/// <summary>
|
|
/// Whether to verify signatures.
|
|
/// </summary>
|
|
public bool VerifySignatures { get; init; } = true;
|
|
|
|
/// <summary>
|
|
/// Whether to verify timestamps.
|
|
/// </summary>
|
|
public bool VerifyTimestamps { get; init; } = true;
|
|
|
|
/// <summary>
|
|
/// Whether to verify digests.
|
|
/// </summary>
|
|
public bool VerifyDigests { get; init; } = true;
|
|
|
|
/// <summary>
|
|
/// Whether to verify pair artifacts.
|
|
/// </summary>
|
|
public bool VerifyPairs { get; init; } = true;
|
|
|
|
/// <summary>
|
|
/// Suppress output except for errors.
|
|
/// </summary>
|
|
public bool Quiet { get; init; }
|
|
|
|
/// <summary>
|
|
/// Show detailed verification output.
|
|
/// </summary>
|
|
public bool Verbose { get; init; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Report output format.
|
|
/// </summary>
|
|
public enum ReportFormat
|
|
{
|
|
/// <summary>
|
|
/// Markdown format.
|
|
/// </summary>
|
|
Markdown,
|
|
|
|
/// <summary>
|
|
/// JSON format.
|
|
/// </summary>
|
|
Json,
|
|
|
|
/// <summary>
|
|
/// Plain text format (for terminal output).
|
|
/// </summary>
|
|
Text
|
|
}
|