THPDFSignatureInfo Record
Beschrijft één geladen PDF-handtekening, van certificaatidentiteiten via bytebereikdekking tot het verificatieoordeel
Declaratie
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;
Eenheid
HPDFSignVerify
Velden
| Veld | Doel |
|---|---|
FieldName | Partiële naam van het handtekeningformulierveld |
SubFilter | Waarde van het item /SubFilter in het handtekeningwoordenboek |
SignerName | CN van het subject van het ondertekenaarscertificaat |
SubjectDN | Weergegeven subject distinguished name van het certificaat |
IssuerDN | Weergegeven issuer distinguished name van het certificaat |
SerialNumberHex | Serienummer van het certificaat, hex-gecodeerd |
ValidFrom | notBefore van het certificaat, 0 wanneer afwezig |
ValidTo | notAfter van het certificaat, 0 wanneer afwezig |
SigningTime | Getekend attribuut 1.2.840.113549.1.9.5, anders het item /M, anders 0 |
HashAlgorithm | Familienaam van de digest: SHA-1, SHA-2, SHA-3 of SHAKE256 |
DigestAlgorithmOID | Objectidentifier van het digest-algoritme |
DigestConsistencyIssue | Gevonden discrepantie tussen digest-algoritmen binnen de CMS-structuur |
SignaturePolicy | Details van het handtekeningbeleid wanneer de handtekening een policy meedraagt |
Reason | Waarde van het item /Reason |
Location | Waarde van het item /Location |
ContactInfo | Waarde van het item /ContactInfo |
ByteRange | Offset- en lengteparen van /ByteRange die de gedekte byte-intervallen beschrijven |
CoversWholeDocument | True wanneer het bytebereik het hele bestand beslaat op de /Contents-gap na |
SignedRevisionLength | Lengte van het bronprefix dat deze handtekening dekt |
UnsignedTrailingBytes | Bytes die na de ondertekende revisie zijn toegevoegd |
CertificateTimeValidity | Of de ondertekeningstijd binnen de geldigheidsperiode van het certificaat valt |
Status | Verificatieoordeel van het type THPDFSignatureVerifyStatus |
PublicKeyAlgorithm | Public key-familie: RSA, ECDSA, EdDSA of ML-DSA |
SignatureAlgorithm | Naam van het CMS-handtekeningalgoritme |
SignatureAlgorithmOID | Objectidentifier van het handtekeningalgoritme |
CurveName | Naam van de ECDSA-curve, zoals P-256 |
Timestamp | Details van de RFC 3161-handtekeningtijdstempel of documenttijdstempel |
CMSAttributes | Samenvatting van de ondertekende CMS-attributen |
CertificateValidation | Uitkomst van de certificaatketenvalidatie |
Gebruiksopmerkingen
GetLoadedSignatureInfogeeft de beschrijvende velden terug;VerifyLoadedSignatureenVerifyLoadedSignatureExvullen na de digestcontroles de status- en validatievelden inCoversWholeDocumentsamen metUnsignedTrailingByteslaat zien of latere revisies het document na het ondertekenen nog hebben gewijzigd- Hetzelfde record voedt de certificaatvalidatie, dus één call dekt identiteiten, dekking, algoritmen en ketencontroles