Table of Contents

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

bool

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

CatalogueSignatureVerificationResult

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

bool

FileResults

Per-file verification results.

public required IReadOnlyList<FileVerificationResult> FileResults { get; init; }

Property Value

IReadOnlyList<FileVerificationResult>

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

bool

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

bool

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

bool

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

bool

IsUnsigned

Returns true when no file carries a signature (all are NotSigned), leaving out withdrawn records.

public bool IsUnsigned { get; }

Property Value

bool