THPDFSignatureInfo Record

Mô tả một chữ ký PDF đã nạp, từ định danh certificate qua độ phủ byte-range cho đến phán quyết verify

Khai báo

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;

Đơn vị

HPDFSignVerify

Các trường

TrườngMục đích
FieldNameTên một phần của form field chữ ký
SubFilterGiá trị entry /SubFilter trong signature dictionary
SignerNameCN của subject certificate người ký
SubjectDNSubject distinguished name của certificate ở dạng hiển thị
IssuerDNIssuer distinguished name của certificate ở dạng hiển thị
SerialNumberHexSố serial certificate, mã hóa hex
ValidFromnotBefore của certificate, bằng 0 khi không có
ValidTonotAfter của certificate, bằng 0 khi không có
SigningTimeAttribute đã ký 1.2.840.113549.1.9.5, nếu không có thì lấy entry /M, vẫn không có thì bằng 0
HashAlgorithmTên họ digest: SHA-1, SHA-2, SHA-3, hoặc SHAKE256
DigestAlgorithmOIDObject identifier của thuật toán digest
DigestConsistencyIssueLệch khớp được phát hiện giữa các thuật toán digest bên trong cấu trúc CMS
SignaturePolicyChi tiết signature policy khi chữ ký mang theo policy
ReasonGiá trị entry /Reason
LocationGiá trị entry /Location
ContactInfoGiá trị entry /ContactInfo
ByteRangeCác cặp offset và độ dài /ByteRange mô tả những khoảng byte được phủ
CoversWholeDocumentTrue khi byte range phủ toàn bộ file trừ khoảng trống /Contents
SignedRevisionLengthĐộ dài phần đầu nguồn được chữ ký này phủ
UnsignedTrailingBytesSố byte được nối thêm sau revision đã ký
CertificateTimeValidityThời gian ký có nằm trong khoảng hiệu lực của certificate hay không
StatusPhán quyết verify với kiểu THPDFSignatureVerifyStatus
PublicKeyAlgorithmHọ khóa công khai: RSA, ECDSA, EdDSA, hoặc ML-DSA
SignatureAlgorithmTên thuật toán signature CMS
SignatureAlgorithmOIDObject identifier của thuật toán signature
CurveNameTên đường cong ECDSA, ví dụ P-256
TimestampChi tiết timestamp RFC 3161 của chữ ký hoặc của tài liệu
CMSAttributesTóm tắt các attribute CMS đã ký
CertificateValidationKết quả validation chuỗi certificate

Ghi chú sử dụng

API liên quan