רקורד THPDFSignatureInfo

מתאר חתימת PDF‏ טעונה אחת, מזהויות התעודה דרך כיסוי טווח-הבתים ועד פסק דין האימות

הצהרה

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;

יחידה

HPDFSignVerify

שדות

שדהמטרה
FieldNameהשם החלקי של שדה הטופס של החתימה
SubFilterערך רשומת ה-‏/SubFilter‏ במילון החתימה
SignerNameה-CN‏ של הנושא בתעודת החותם
SubjectDNהשם המובחן של הנושא בתעודה, כפי שמוצג
IssuerDNהשם המובחן של המנפיק בתעודה, כפי שמוצג
SerialNumberHexהמספר הסידורי של התעודה, מקודד הקס
ValidFromה-‏notBefore‏ של התעודה, ‏0 כשנעדר
ValidToה-‏notAfter‏ של התעודה, ‏0 כשנעדר
SigningTimeהתכונה החתומה 1.2.840.113549.1.9.5, אחרת רשומת ה-‏/M,‏ ואחרת 0
HashAlgorithmשם משפחת ה-digest:‏ SHA-1, SHA-2, SHA-3 או SHAKE256
DigestAlgorithmOIDמזהה האובייקט של אלגוריתם ה-digest
DigestConsistencyIssueאי-התאמה שזוהתה בין אלגוריתמי digest‏ בתוך מבנה ה-CMS
SignaturePolicyפרטי מדיניות החתימה כשהחתימה נושאת מדיניות
Reasonערך רשומת ה-‏/Reason
Locationערך רשומת ה-‏/Location
ContactInfoערך רשומת ה-‏/ContactInfo
ByteRangeזוגות היסט-ואורך של ‏/ByteRange‏ שמתארים את טווחי הבתים המכוסים
CoversWholeDocumentTrue כשטווח הבתים משתרע על כל הקובץ מלבד הפער של ‏/Contents
SignedRevisionLengthאורך הקידומת של המקור שחתימה זו מכסה
UnsignedTrailingBytesהבתים שצורפו אחרי המהדורה החתומה
CertificateTimeValidityהאם מועד החתימה נופל בתוך חלון התקפות של התעודה
Statusפסק דין האימות מטיפוס ‏THPDFSignatureVerifyStatus
PublicKeyAlgorithmמשפחת המפתח-הציבורי:‏ RSA, ECDSA, EdDSA או ML-DSA
SignatureAlgorithmשם אלגוריתם החתימה של ה-CMS
SignatureAlgorithmOIDמזהה האובייקט של אלגוריתם החתימה
CurveNameשם עקומת ה-ECDSA,‏ למשל ‏P-256
Timestampפרטי חותמת-זמן של חתימה או של מסמך לפי RFC 3161
CMSAttributesסיכום התכונות החתומות של ה-CMS
CertificateValidationתוצאת אימות שרשרת התעודות

הערות שימוש

ממשקי API קשורים