THPDFSignatureInfo Record

Menjelaskan satu signature PDF yang dimuat, dari identitas sertifikat, coverage byte-range, hingga verdict verifikasi

Deklarasi

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

Kolom

FieldTujuan
FieldNameNama sebagian dari form field signature
SubFilterNilai entri /SubFilter di dictionary signature
SignerNameCN dari subject sertifikat penanda tangan
SubjectDNSubject distinguished name sertifikat yang dirender
IssuerDNIssuer distinguished name sertifikat yang dirender
SerialNumberHexNomor seri sertifikat, dienkode heksadesimal
ValidFromnotBefore sertifikat, 0 ketika tidak ada
ValidTonotAfter sertifikat, 0 ketika tidak ada
SigningTimeSigned attribute 1.2.840.113549.1.9.5, kalau tidak ada entri /M, kalau tidak 0
HashAlgorithmNama family digest: SHA-1, SHA-2, SHA-3, atau SHAKE256
DigestAlgorithmOIDObject identifier algoritma digest
DigestConsistencyIssueKetidakcocokan terdeteksi antara algoritma digest di dalam struktur CMS
SignaturePolicyDetail signature policy ketika signature membawa policy
ReasonNilai entri /Reason
LocationNilai entri /Location
ContactInfoNilai entri /ContactInfo
ByteRangePasangan offset dan length /ByteRange yang menjelaskan interval byte yang tercakup
CoversWholeDocumentTrue ketika rentang byte mencakup seluruh file kecuali gap /Contents
SignedRevisionLengthPanjang prefix sumber yang tercakup signature ini
UnsignedTrailingBytesByte yang ditambahkan setelah revisi yang ditandatangani
CertificateTimeValidityApakah signing time jatuh di dalam window validitas sertifikat
StatusVerdict verifikasi bertipe THPDFSignatureVerifyStatus
PublicKeyAlgorithmFamily public key: RSA, ECDSA, EdDSA, atau ML-DSA
SignatureAlgorithmNama algoritma signature CMS
SignatureAlgorithmOIDObject identifier algoritma signature
CurveNameNama curve ECDSA, misalnya P-256
TimestampDetail signature timestamp atau document timestamp RFC 3161
CMSAttributesRingkasan atribut CMS yang ditandatangani
CertificateValidationHasil validasi chain sertifikat

Catatan penggunaan

API terkait