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
cryptographicStatusDocumentSignatureStatusWhether this signature's own cryptographic signature value verifies — not tamper detection, see the remarks on this type.
certificateChainStatusDocumentSignatureStatusWhether the signing certificate chains to a certificate this machine trusts.
revocationStatusDocumentSignatureStatusWhether the signing certificate has been revoked.
signersIEnumerable<string>This signature's own claimed signer subject names.
Exceptions
- ArgumentNullException
signersis null.
Properties
CertificateChainStatus
Whether the signing certificate chains to a certificate this machine trusts.
public DocumentSignatureStatus CertificateChainStatus { get; }
Property Value
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
RevocationStatus
Whether the signing certificate has been revoked. Never checked over the network — see DocumentSignatureValidationReport.
public DocumentSignatureStatus RevocationStatus { get; }
Property Value
Signers
This signature's own claimed signer subject names.
public IReadOnlyList<string> Signers { get; }