THPDFSignatureInfo Record

Beschreibt eine geladene PDF-Signatur von den Zertifikatsidentitäten über die Byte-Range-Abdeckung bis zum Verifikationsurteil

Deklaration

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

Felder

FeldZweck
FieldNameTeilname des Signaturformularfelds
SubFilterWert des /SubFilter-Eintrags im Signature-Dictionary
SignerNameCN des Subjekts des Signaturzertifikats
SubjectDNAufbereiteter Distinguished Name des Zertifikatssubjekts
IssuerDNAufbereiteter Distinguished Name des Zertifikatsausstellers
SerialNumberHexSeriennummer des Zertifikats, hexadezimal kodiert
ValidFromnotBefore des Zertifikats, 0 wenn nicht vorhanden
ValidTonotAfter des Zertifikats, 0 wenn nicht vorhanden
SigningTimeSigniertes Attribut 1.2.840.113549.1.9.5, sonst der /M-Eintrag, sonst 0
HashAlgorithmName der Digest-Familie: SHA-1, SHA-2, SHA-3 oder SHAKE256
DigestAlgorithmOIDObjektbezeichner des Digest-Algorithmus
DigestConsistencyIssueErkannte Diskrepanz zwischen Digest-Algorithmen innerhalb der CMS-Struktur
SignaturePolicyDetails zur Signatur-Policy, wenn die Signatur eine Policy trägt
ReasonWert des /Reason-Eintrags
LocationWert des /Location-Eintrags
ContactInfoWert des /ContactInfo-Eintrags
ByteRange/ByteRange-Offset- und Längenpaare, die die abgedeckten Byteintervalle beschreiben
CoversWholeDocumentTrue, wenn der Bytebereich die ganze Datei bis auf die /Contents-Lücke umspannt
SignedRevisionLengthLänge des Quellpräfixes, das diese Signatur abdeckt
UnsignedTrailingBytesNach der signierten Revision angehängte Bytes
CertificateTimeValidityOb die Signierzeit innerhalb des Gültigkeitsfensters des Zertifikats liegt
StatusVerifikationsurteil vom Typ THPDFSignatureVerifyStatus
PublicKeyAlgorithmPublic-Key-Familie: RSA, ECDSA, EdDSA oder ML-DSA
SignatureAlgorithmName des CMS-Signaturalgorithmus
SignatureAlgorithmOIDObjektbezeichner des Signaturalgorithmus
CurveNameName der ECDSA-Kurve, etwa P-256
TimestampDetails zum RFC-3161-Signatur- oder Dokumentzeitstempel
CMSAttributesZusammenfassung der signierten CMS-Attribute
CertificateValidationErgebnis der Zertifikatsketten-Validierung

Verwendungshinweise

Verwandte APIs