THPDFSignatureInfo Record

Describes one loaded PDF signature from certificate identities through byte-range coverage to the verification verdict

Declaration

THPDFSignatureInfo= record
  FieldName: AnsiString;       // signature form field partial name
  SubFilter: AnsiString;       // /SubFilter of the signature dictionary
  SignerName: AnsiString;      // CN of the signer certificate subject
  SubjectDN: AnsiString;       // rendered subject distinguished name
  IssuerDN: AnsiString;        // rendered issuer distinguished name
  SerialNumberHex: AnsiString; // certificate serial number, hex encoded
  ValidFrom: TDateTime;        // certificate notBefore (0 when absent)
  ValidTo: TDateTime;          // certificate notAfter (0 when absent)
  SigningTime: TDateTime;      // signed attribute 1.2.840.113549.1.9.5,
                               // else the /M entry, else 0
  HashAlgorithm: AnsiString;   // SHA-1, SHA-2, SHA-3, or SHAKE256
  DigestAlgorithmOID: AnsiString;
  DigestConsistencyIssue: THPDFCMSDigestConsistencyIssue;
  SignaturePolicy: THPDFSignaturePolicyInfo;
  Reason: AnsiString;          // /Reason from the signature dictionary
  Location: AnsiString;        // /Location
  ContactInfo: AnsiString;     // /ContactInfo
  ByteRange: array of Int64;   // /ByteRange pairs (offset, length, ...)
  CoversWholeDocument: boolean; // ByteRange spans the file except /Contents
  SignedRevisionLength: Int64; // source prefix covered by this signature
  UnsignedTrailingBytes: Int64; // bytes appended after the signed revision
  CertificateTimeValidity: THPDFSignatureTimeValidity;
  Status: THPDFSignatureVerifyStatus;
  PublicKeyAlgorithm: AnsiString; // RSA, ECDSA, EdDSA, or ML-DSA
  SignatureAlgorithm: AnsiString; // CMS signature algorithm name
  SignatureAlgorithmOID: AnsiString;
  CurveName: AnsiString;          // ECDSA curve, such as 'P-256'
  Timestamp: THPDFTimestampInfo;  // RFC 3161 signature or document timestamp
  CMSAttributes: THPDFCMSAttributeSummary;
  CertificateValidation: THPDFCertificateValidationInfo;
end;

Unit

HPDFSignVerify

Fields

FieldPurpose
FieldNamePartial name of the signature form field
SubFilterValue of the /SubFilter entry in the signature dictionary
SignerNameCN of the signer certificate subject
SubjectDNRendered subject distinguished name of the certificate
IssuerDNRendered issuer distinguished name of the certificate
SerialNumberHexCertificate serial number, hex encoded
ValidFromCertificate notBefore, 0 when absent
ValidToCertificate notAfter, 0 when absent
SigningTimeSigned attribute 1.2.840.113549.1.9.5, else the /M entry, else 0
HashAlgorithmDigest family name: SHA-1, SHA-2, SHA-3, or SHAKE256
DigestAlgorithmOIDDigest algorithm object identifier
DigestConsistencyIssueMismatch detected between digest algorithms inside the CMS structure
SignaturePolicySignature policy details when the signature carries a policy
ReasonValue of the /Reason entry
LocationValue of the /Location entry
ContactInfoValue of the /ContactInfo entry
ByteRange/ByteRange offset and length pairs describing the covered byte intervals
CoversWholeDocumentTrue when the byte range spans the whole file except the /Contents gap
SignedRevisionLengthLength of the source prefix covered by this signature
UnsignedTrailingBytesBytes appended after the signed revision
CertificateTimeValidityWhether the signing time falls inside the certificate validity window
StatusVerification verdict of type THPDFSignatureVerifyStatus
PublicKeyAlgorithmPublic key family: RSA, ECDSA, EdDSA, or ML-DSA
SignatureAlgorithmCMS signature algorithm name
SignatureAlgorithmOIDSignature algorithm object identifier
CurveNameECDSA curve name, such as P-256
TimestampRFC 3161 signature or document timestamp details
CMSAttributesSummary of the signed CMS attributes
CertificateValidationCertificate chain validation outcome

Usage notes

Related APIs