THPDFSignatureInfo Record
Beskriver én indlæst PDF-signatur fra certifikatidentiteter over byte-interval-dækning til verificeringsafgørelsen
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;
Enhed
HPDFSignVerify
Felter
| Felt | Formål |
|---|---|
FieldName | Delnavn på signaturformularfeltet |
SubFilter | Værdien af /SubFilter-posten i signaturordbogen |
SignerName | CN i signeringscertifikatets subject |
SubjectDN | Certifikatets renderede subject distinguished name |
IssuerDN | Certifikatets renderede issuer distinguished name |
SerialNumberHex | Certifikatets serienummer, hex-kodet |
ValidFrom | Certifikatets notBefore, 0 når fraværende |
ValidTo | Certifikatets notAfter, 0 når fraværende |
SigningTime | Signeret attribut 1.2.840.113549.1.9.5, ellers /M-posten, ellers 0 |
HashAlgorithm | Digest-familienavn: SHA-1, SHA-2, SHA-3 eller SHAKE256 |
DigestAlgorithmOID | Objektidentifikator for digest-algoritmen |
DigestConsistencyIssue | Fundet uoverensstemmelse mellem digest-algoritmer inde i CMS-strukturen |
SignaturePolicy | Detaljer om signaturpolitik, når signaturen bærer en politik |
Reason | Værdien af /Reason-posten |
Location | Værdien af /Location-posten |
ContactInfo | Værdien af /ContactInfo-posten |
ByteRange | /ByteRange-offset- og længdepar, der beskriver de dækkede byte-intervaller |
CoversWholeDocument | True, når byte-intervallet spænder over hele filen undtagen /Contents-hullet |
SignedRevisionLength | Længden af det kildepræfiks, denne signatur dækker |
UnsignedTrailingBytes | Bytes, der er tilføjet efter den signerede revision |
CertificateTimeValidity | Om signeringstidspunktet ligger inden for certifikatets gyldighedsvindue |
Status | Verificeringsafgørelse af typen THPDFSignatureVerifyStatus |
PublicKeyAlgorithm | Nøglefamilie: RSA, ECDSA, EdDSA eller ML-DSA |
SignatureAlgorithm | CMS-signaturalgoritmens navn |
SignatureAlgorithmOID | Objektidentifikator for signaturalgoritmen |
CurveName | ECDSA-kurvenavn, f.eks. P-256 |
Timestamp | Detaljer om RFC 3161-signatur- eller dokumenttidsstempel |
CMSAttributes | Opsummering af de signerede CMS-attributter |
CertificateValidation | Udfaldet af certifikatkædevalideringen |
Brugsnoter
GetLoadedSignatureInforeturnerer de beskrivende felter;VerifyLoadedSignatureogVerifyLoadedSignatureExudfylder status- og valideringsfelterne efter at have tjekket digestsCoversWholeDocumentsammen medUnsignedTrailingBytesviser, om senere revisioner ændrede dokumentet efter signeringen- Samme post bruges til certifikatvalidering, så ét kald dækker identiteter, dækning, algoritmer og kædetjek