Záznam THPDFSignatureInfo

Popisuje jeden načtený PDF podpis od identit certifikátu přes pokrytí byte range až po verdikt ověření

Deklarace

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;

Jednotka

HPDFSignVerify

Pole

PoleÚčel
FieldNameČástečný název formulářového pole podpisu
SubFilterHodnota položky /SubFilter ve slovníku podpisu
SignerNameCN subjektu certifikátu podepisujícího
SubjectDNVykreslené distinguished name subjektu certifikátu
IssuerDNVykreslené distinguished name vystavitele certifikátu
SerialNumberHexSériové číslo certifikátu, hex kódované
ValidFromnotBefore certifikátu, 0 když chybí
ValidTonotAfter certifikátu, 0 když chybí
SigningTimePodepsaný atribut 1.2.840.113549.1.9.5, jinak položka /M, jinak 0
HashAlgorithmNázev rodiny digestu: SHA-1, SHA-2, SHA-3 nebo SHAKE256
DigestAlgorithmOIDObjektový identifikátor digest algoritmu
DigestConsistencyIssueZjištěný nesoulad digest algoritmů uvnitř struktury CMS
SignaturePolicyDetaily politiky podpisu, když podpis politiku nese
ReasonHodnota položky /Reason
LocationHodnota položky /Location
ContactInfoHodnota položky /ContactInfo
ByteRangeOffset a délka z /ByteRange popisující pokryté bajtové intervaly
CoversWholeDocumentTrue, když byte range pokrývá celý soubor kromě mezery /Contents
SignedRevisionLengthDélka zdrojového prefixu pokrytého tímto podpisem
UnsignedTrailingBytesBajty připojené za podepsanou revizí
CertificateTimeValidityZda čas podpisu spadá do okna platnosti certifikátu
StatusVerdikt ověření typu THPDFSignatureVerifyStatus
PublicKeyAlgorithmRodina veřejného klíče: RSA, ECDSA, EdDSA nebo ML-DSA
SignatureAlgorithmNázev podpisového algoritmu CMS
SignatureAlgorithmOIDObjektový identifikátor podpisového algoritmu
CurveNameNázev ECDSA křivky, například P-256
TimestampDetaily RFC 3161 signature timestampu nebo document timestampu
CMSAttributesSouhrn podepsaných atributů CMS
CertificateValidationVýsledek validace řetězce certifikátů

Poznámky k použití

Související API