Enregistrement THPDFSignatureInfo

Décrit une signature PDF chargée, des identités de certificats jusqu'au verdict de vérification, en passant par la couverture de plage d'octets

Déclaration

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

Champs

ChampObjectif
FieldNameNom partiel du champ de formulaire de signature
SubFilterValeur de l'entrée /SubFilter du dictionnaire de signature
SignerNameCN du sujet du certificat du signataire
SubjectDNNom distinctif de sujet rendu du certificat
IssuerDNNom distinctif d'émetteur rendu du certificat
SerialNumberHexNuméro de série du certificat, encodé en hexadécimal
ValidFromnotBefore du certificat, 0 quand absent
ValidTonotAfter du certificat, 0 quand absent
SigningTimeAttribut signé 1.2.840.113549.1.9.5, sinon l'entrée /M, sinon 0
HashAlgorithmNom de famille de digest : SHA-1, SHA-2, SHA-3 ou SHAKE256
DigestAlgorithmOIDIdentifiant d'objet de l'algorithme de digest
DigestConsistencyIssueDivergence détectée entre les algorithmes de digest à l'intérieur de la structure CMS
SignaturePolicyDétails de politique de signature quand la signature porte une politique
ReasonValeur de l'entrée /Reason
LocationValeur de l'entrée /Location
ContactInfoValeur de l'entrée /ContactInfo
ByteRangePaires décalage/longueur du /ByteRange décrivant les intervalles d'octets couverts
CoversWholeDocumentTrue quand la plage d'octets couvre tout le fichier sauf la lacune /Contents
SignedRevisionLengthLongueur du préfixe source couvert par cette signature
UnsignedTrailingBytesOctets ajoutés après la révision signée
CertificateTimeValiditySi l'heure de signature tombe à l'intérieur de la fenêtre de validité du certificat
StatusVerdict de vérification de type THPDFSignatureVerifyStatus
PublicKeyAlgorithmFamille de clé publique : RSA, ECDSA, EdDSA ou ML-DSA
SignatureAlgorithmNom d'algorithme de signature CMS
SignatureAlgorithmOIDIdentifiant d'objet de l'algorithme de signature
CurveNameNom de courbe ECDSA, comme P-256
TimestampDétails d'horodatage de signature ou de document RFC 3161
CMSAttributesRésumé des attributs CMS signés
CertificateValidationIssue de la validation de chaîne de certificats

Notes d'utilisation

API associées