Table of Contents

Class DocumentSignatureValidationResult

Namespace
DocToolkit
Assembly
DocToolkit.Primitives.dll

One signature's independently validated state.

public sealed class DocumentSignatureValidationResult
Inheritance
DocumentSignatureValidationResult
Inherited Members

Remarks

The status fields are deliberately independent, matching what OfficeIMO's own validator reports rather than this package computing a single opinion: a self-signed certificate that never chases up to a trusted root is normal for an internal enterprise signer, and produces CryptographicStatus = Passed (the signature block itself is well-formed) alongside CertificateChainStatus = Failed (untrusted root) — measured directly, not assumed. Read the field that answers the question you actually have.

CryptographicStatus is not tamper detection — read IsCryptographicallyValid for that. Measured directly: signing a document, then altering its content afterward without re-signing, leaves CryptographicStatus at Passed on both the untampered and the tampered copy — the signature value still verifies against its own SignedInfo block either way. What changes is whether the covered content's digest still matches, which this type does not expose per signature; only the report-level IsCryptographicallyValid reflects it, and for a document carrying more than one signature that is an aggregate across all of them, not a per-signature answer.

Constructors

DocumentSignatureValidationResult(DocumentSignatureStatus, DocumentSignatureStatus, DocumentSignatureStatus, IEnumerable<string>)

Creates one signature's independently validated state.

public DocumentSignatureValidationResult(DocumentSignatureStatus cryptographicStatus, DocumentSignatureStatus certificateChainStatus, DocumentSignatureStatus revocationStatus, IEnumerable<string> signers)

Parameters

cryptographicStatus DocumentSignatureStatus

Whether this signature's own cryptographic signature value verifies — not tamper detection, see the remarks on this type.

certificateChainStatus DocumentSignatureStatus

Whether the signing certificate chains to a certificate this machine trusts.

revocationStatus DocumentSignatureStatus

Whether the signing certificate has been revoked.

signers IEnumerable<string>

This signature's own claimed signer subject names.

Exceptions

ArgumentNullException

signers is null.

Properties

CertificateChainStatus

Whether the signing certificate chains to a certificate this machine trusts.

public DocumentSignatureStatus CertificateChainStatus { get; }

Property Value

DocumentSignatureStatus

CryptographicStatus

Whether this signature's own cryptographic signature value verifies against its SignedInfo block — confirms the signature block is well-formed, not that the covered content is unchanged since signing. See the remarks on this type before reading this as tamper detection.

public DocumentSignatureStatus CryptographicStatus { get; }

Property Value

DocumentSignatureStatus

RevocationStatus

Whether the signing certificate has been revoked. Never checked over the network — see DocumentSignatureValidationReport.

public DocumentSignatureStatus RevocationStatus { get; }

Property Value

DocumentSignatureStatus

Signers

This signature's own claimed signer subject names.

public IReadOnlyList<string> Signers { get; }

Property Value

IReadOnlyList<string>