Class ExchangeSetVerificationResult
- Namespace
- EncDotNet.S100.ExchangeSets
- Assembly
- EncDotNet.S100.ExchangeSets.dll
The aggregate result of verifying all files in an exchange set.
public sealed class ExchangeSetVerificationResult
- Inheritance
-
ExchangeSetVerificationResult
- Inherited Members
Properties
AllValid
Returns true when every file in the exchange set has
Ok as its signature outcome.
public bool AllValid { get; }
Property Value
Remarks
This is intentionally a strict signature-only predicate: it is
false for an unsigned set (every file NotSigned),
and it does not consider the checksum dimension at all. It is paired with
IsUnsigned by callers (e.g. the viewer) that distinguish
"signed and all valid" from "unsigned".
It is deliberately not the overall integrity verdict. Because
S-100 mandates no per-resource checksum (integrity is via Part 15
signatures), a "no checksum present" case must not count as a failure;
that non-failing semantic lives in IntegrityVerified (and in
the s100 validate exit code). This matches the sibling S-57
implementation, whose AllValid treats a missing CRC
(NoChecksum) as non-failing and fails
only on mismatch, missing file, error, or invalid signature.
Withdrawn records (Withdrawn) ship no file and are left out, here and in IsUnsigned.
A catalogue that fails its CATALOG.SIGN check makes this
false too (CatalogueSignatureFailed).
CatalogueSignature
The check of the catalogue against CATALOG.SIGN, or
null when it wasn't checked.
public CatalogueSignatureVerificationResult? CatalogueSignature { get; init; }
Property Value
Remarks
A missing CATALOG.SIGN (NotSigned)
doesn't count as a failure in AllValid: many exchange sets
in use don't carry one. Any other outcome but
Ok does. S-100 Edition 5.2.1 Part 15
§15-8.11.2.
CatalogueSignatureFailed
Returns true when the exchange set has a CATALOG.SIGN and
the catalogue didn't verify against it (see CatalogueSignature).
public bool CatalogueSignatureFailed { get; }
Property Value
FileResults
Per-file verification results.
public required IReadOnlyList<FileVerificationResult> FileResults { get; init; }
Property Value
HasChecksumMismatches
Returns true when at least one file's computed digest did not
match its declared cryptographic hash
(ChecksumMismatch).
public bool HasChecksumMismatches { get; }
Property Value
Remarks
S-100 Edition 5.2.1 Part 15 §15-8.10.
HasInvalidSignatures
Returns true when at least one file, or the catalogue, has
SignatureInvalid.
public bool HasInvalidSignatures { get; }
Property Value
HasMissingFiles
Returns true when at least one referenced file was missing from
the asset source (an incomplete exchange set), reported in either the
signature or the checksum dimension.
public bool HasMissingFiles { get; }
Property Value
IntegrityVerified
Returns true when the exchange set is structurally intact: no
referenced file is missing and no declared checksum failed. Files with
no declared checksum (NoChecksum) do
not by themselves invalidate integrity, since the specification does not
mandate per-resource hashes.
public bool IntegrityVerified { get; }
Property Value
IsUnsigned
Returns true when no file carries a signature
(all are NotSigned), leaving out
withdrawn records.
public bool IsUnsigned { get; }