41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using System.Collections.Immutable;
|
|
using StellaOps.AuditPack.Models;
|
|
|
|
namespace StellaOps.AuditPack.Services;
|
|
|
|
public sealed partial class AuditBundleReader
|
|
{
|
|
private sealed record BundleEntry(string Path, string Digest, long SizeBytes);
|
|
|
|
private sealed record SignatureVerificationResult
|
|
{
|
|
public bool? Verified { get; init; }
|
|
public string? KeyId { get; init; }
|
|
public string? Error { get; init; }
|
|
}
|
|
|
|
private sealed record MerkleVerificationResult
|
|
{
|
|
public bool Verified { get; init; }
|
|
public string? Error { get; init; }
|
|
}
|
|
|
|
private sealed record InputDigestVerificationResult
|
|
{
|
|
public bool Verified { get; init; }
|
|
public ImmutableArray<string>? Errors { get; init; }
|
|
}
|
|
|
|
private sealed record ManifestLoadResult(
|
|
bool Success,
|
|
string? Error,
|
|
AuditBundleManifest? Manifest,
|
|
byte[]? ManifestBytes);
|
|
|
|
private sealed record ExtractionResult(
|
|
bool Success,
|
|
string? Error,
|
|
AuditBundleReadResult Result,
|
|
string TempDir);
|
|
}
|