Class SignatureValidationResult
- Namespace
- SimpleSign.Core.Validation
- Assembly
- SimpleSign.Core.dll
Complete result of a PDF signature validation.
public sealed class SignatureValidationResult
- Inheritance
-
SignatureValidationResult
- Inherited Members
Properties
ChainValidationMetadata
Additional metadata extracted during country-specific chain validation. Keys and values are provider-defined. Null if no provider matched.
public IReadOnlyDictionary<string, string>? ChainValidationMetadata { get; init; }
Property Value
ChainValidationRegion
The region code of the IChainValidationProvider that validated this signature. For example, "BR" for ICP-Brasil, "EU" for eIDAS. Null if no country-specific provider matched.
public string? ChainValidationRegion { get; init; }
Property Value
DigestAlgorithmName
Friendly name of the digest algorithm (e.g., "SHA-256").
public string? DigestAlgorithmName { get; }
Property Value
DigestAlgorithmOid
OID of the digest algorithm used in the signature (e.g., "2.16.840.1.101.3.4.2.1" = SHA-256).
public string? DigestAlgorithmOid { get; init; }
Property Value
EmbeddedCertificates
All certificates embedded in the CMS signature (signer + intermediaries).
public IReadOnlyList<X509Certificate2> EmbeddedCertificates { get; init; }
Property Value
Errors
Errors found during validation.
public IReadOnlyList<string> Errors { get; init; }
Property Value
FieldName
Validated signature field.
public string FieldName { get; init; }
Property Value
HasValidTimestamp
The timestamp (if present) is valid.
public bool? HasValidTimestamp { get; init; }
Property Value
- bool?
IsCertificateChainValid
The certificate chain is valid and trusted.
public bool IsCertificateChainValid { get; init; }
Property Value
IsChainTrustWarning
True when this is a document timestamp whose TSA chain could not be built to a trusted root, but whose cryptographic integrity and signature are valid. In this case the archive timestamp is still considered cryptographically sound — the chain issue is advisory (the TSA root is simply not present in the local trust store). Also used for regular signatures when a country-specific IChainValidationProvider overrides the standard PKI chain result.
public bool IsChainTrustWarning { get; init; }
Property Value
IsDocumentTimestamp
Whether this result represents a document timestamp (SubFilter = ETSI.RFC3161) rather than a regular user signature. Document timestamps are infrastructure — they provide long-term archival proof. Callers should render them differently.
public bool IsDocumentTimestamp { get; init; }
Property Value
IsIntegrityValid
The document integrity is intact (hash matches).
public bool IsIntegrityValid { get; init; }
Property Value
IsNotRevoked
The certificate was not revoked at the time of signing.
public bool IsNotRevoked { get; init; }
Property Value
IsSignatureValid
The cryptographic signature is mathematically valid.
public bool IsSignatureValid { get; init; }
Property Value
IsValid
Indicates whether the signature is considered valid as a whole.
public bool IsValid { get; }
Property Value
PolicyLevel
The policy / assurance level determined by the country-specific chain validation provider. For example, "A3" (ICP-Brasil), "Gold" (Gov.br), "QCP-w" (eIDAS). Null if no country-specific provider matched.
public string? PolicyLevel { get; init; }
Property Value
RevocationSource
How the revocation status was determined.
public RevocationSource RevocationSource { get; init; }
Property Value
SignerCertificate
Signer certificate.
public X509Certificate2? SignerCertificate { get; init; }
Property Value
SignerId
The signer's national identifier extracted from the certificate by the country-specific provider. For example, a CPF or CNPJ number (Brazil), codice fiscale (Italy), NIF (Portugal). Null if no provider extracted an ID or no country-specific provider matched.
public string? SignerId { get; init; }
Property Value
SignerIdType
The type of national identifier extracted (SignerId). For example, "CPF", "CNPJ", "NIF", "CF". Null if no identifier was extracted.
public string? SignerIdType { get; init; }
Property Value
SignerName
Human-readable signer name (CN from the certificate).
public string? SignerName { get; init; }
Property Value
SigningTime
Signing date/time (from SigningTime or from the timestamp).
public DateTimeOffset? SigningTime { get; init; }
Property Value
SubFilter
SubFilter of the signature field (e.g., "adbe.pkcs7.detached", "ETSI.CAdES.detached").
public string? SubFilter { get; init; }
Property Value
Warnings
Non-blocking warnings.
public IReadOnlyList<string> Warnings { get; init; }
Property Value
Methods
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.