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
| Field | Tujuan |
|---|---|
FieldName | Nama sebagian dari form field signature |
SubFilter | Nilai entri /SubFilter di dictionary signature |
SignerName | CN dari subject sertifikat penanda tangan |
SubjectDN | Subject distinguished name sertifikat yang dirender |
IssuerDN | Issuer distinguished name sertifikat yang dirender |
SerialNumberHex | Nomor seri sertifikat, dienkode heksadesimal |
ValidFrom | notBefore sertifikat, 0 ketika tidak ada |
ValidTo | notAfter sertifikat, 0 ketika tidak ada |
SigningTime | Signed attribute 1.2.840.113549.1.9.5, kalau tidak ada entri /M, kalau tidak 0 |
HashAlgorithm | Nama family digest: SHA-1, SHA-2, SHA-3, atau SHAKE256 |
DigestAlgorithmOID | Object identifier algoritma digest |
DigestConsistencyIssue | Ketidakcocokan terdeteksi antara algoritma digest di dalam struktur CMS |
SignaturePolicy | Detail signature policy ketika signature membawa policy |
Reason | Nilai entri /Reason |
Location | Nilai entri /Location |
ContactInfo | Nilai entri /ContactInfo |
ByteRange | Pasangan offset dan length /ByteRange yang menjelaskan interval byte yang tercakup |
CoversWholeDocument | True ketika rentang byte mencakup seluruh file kecuali gap /Contents |
SignedRevisionLength | Panjang prefix sumber yang tercakup signature ini |
UnsignedTrailingBytes | Byte yang ditambahkan setelah revisi yang ditandatangani |
CertificateTimeValidity | Apakah signing time jatuh di dalam window validitas sertifikat |
Status | Verdict verifikasi bertipe THPDFSignatureVerifyStatus |
PublicKeyAlgorithm | Family public key: RSA, ECDSA, EdDSA, atau ML-DSA |
SignatureAlgorithm | Nama algoritma signature CMS |
SignatureAlgorithmOID | Object identifier algoritma signature |
CurveName | Nama curve ECDSA, misalnya P-256 |
Timestamp | Detail signature timestamp atau document timestamp RFC 3161 |
CMSAttributes | Ringkasan atribut CMS yang ditandatangani |
CertificateValidation | Hasil validasi chain sertifikat |
Catatan penggunaan
GetLoadedSignatureInfomengembalikan field deskriptif;VerifyLoadedSignaturedanVerifyLoadedSignatureExmengisi field status dan validasi setelah memeriksa digestCoversWholeDocumentbersamaUnsignedTrailingBytesmenunjukkan apakah revisi berikutnya mengubah dokumen setelah penandatanganan- Record yang sama juga masuk ke validasi sertifikat, jadi satu panggilan mencakup identitas, coverage, algoritma, dan pemeriksaan chain