THPDFSignatureInfo Record
Beskriver en inläst PDF-signatur från certifikatidentiteter över byte-range-täckning till verifieringsutfallet
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;
Enhet
HPDFSignVerify
Fält
| Fält | Syfte |
|---|---|
FieldName | Partiellt namn på signaturformulärfältet |
SubFilter | Värdet på /SubFilter-posten i signaturordlistan |
SignerName | CN för signatärscertifikatets subjekt |
SubjectDN | Renderad distinguished name för certifikatets subjekt |
IssuerDN | Renderad distinguished name för certifikatets utfärdare |
SerialNumberHex | Certifikatets serienummer, hexkodat |
ValidFrom | Certifikatets notBefore, 0 när det saknas |
ValidTo | Certifikatets notAfter, 0 när det saknas |
SigningTime | Signerat attribut 1.2.840.113549.1.9.5, annars /M-posten, annars 0 |
HashAlgorithm | Digestfamiljens namn: SHA-1, SHA-2, SHA-3 eller SHAKE256 |
DigestAlgorithmOID | Objektidentifierare för digestalgoritmen |
DigestConsistencyIssue | Avvikelse upptäckt mellan digestalgoritmerna inuti CMS-strukturen |
SignaturePolicy | Detaljer om signaturpolicyn när signaturen bär en policy |
Reason | Värdet på /Reason-posten |
Location | Värdet på /Location-posten |
ContactInfo | Värdet på /ContactInfo-posten |
ByteRange | /ByteRange-offset- och längdpar som beskriver de täckta byte-intervallerna |
CoversWholeDocument | True när byte-rangen spänner över hela filen utom /Contents-gapet |
SignedRevisionLength | Längden på det källprefix som signaturen täcker |
UnsignedTrailingBytes | Byte som lagts till efter den signerade revisionen |
CertificateTimeValidity | Om signeringstiden faller inom certifikatets giltighetsfönster |
Status | Verifieringsutfall av typen THPDFSignatureVerifyStatus |
PublicKeyAlgorithm | Familj för publik nyckel: RSA, ECDSA, EdDSA eller ML-DSA |
SignatureAlgorithm | Namnet på CMS-signaturalgoritmen |
SignatureAlgorithmOID | Objektidentifierare för signaturalgoritmen |
CurveName | ECDSA-kurvnamn, till exempel P-256 |
Timestamp | Detaljer om RFC 3161-signaturtidsstämpel eller dokumenttidsstämpel |
CMSAttributes | Sammanfattning av de signerade CMS-attributen |
CertificateValidation | Utfall av valideringen av certifikatkedjan |
Användningsanteckningar
GetLoadedSignatureInforeturnerar de beskrivande fälten;VerifyLoadedSignatureochVerifyLoadedSignatureExfyller status- och valideringsfälten efter att digesterna kontrolleratsCoversWholeDocumenttillsammans medUnsignedTrailingBytesvisar om senare revisioner ändrade dokumentet efter signeringen- Samma record matar certifikatvalideringen, så ett enda anrop täcker identiteter, täckning, algoritmer och kedjekontroller