THPDFSignatureInfo Record

描述一個已載入的 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
SigningTimesigned 屬性 1.2.840.113549.1.9.5,其次 /M 項,再其次 0
HashAlgorithm摘要家族名稱:SHA-1、SHA-2、SHA-3 或 SHAKE256
DigestAlgorithmOID摘要演算法的物件識別碼
DigestConsistencyIssueCMS 結構內部偵測到的摘要演算法不一致
SignaturePolicy簽章帶有原則時的原則細節
Reason/Reason 項的值
Location/Location 項的值
ContactInfo/ContactInfo 項的值
ByteRange描述被覆蓋位元組區間的 /ByteRange 偏移與長度對
CoversWholeDocument位元組範圍涵蓋除 /Contents 空洞外的整個檔案時為 True
SignedRevisionLength此簽章覆蓋的來源前綴長度
UnsignedTrailingBytes簽署修訂之後附加的位元組數
CertificateTimeValidity簽署時間是否落在憑證有效期間內
StatusTHPDFSignatureVerifyStatus 型別的驗證結論
PublicKeyAlgorithm公開金鑰家族:RSA、ECDSA、EdDSA 或 ML-DSA
SignatureAlgorithmCMS 簽章演算法名稱
SignatureAlgorithmOID簽章演算法的物件識別碼
CurveNameECDSA 曲線名稱,例如 P-256
TimestampRFC 3161 簽章時間戳記或文件時間戳記的細節
CMSAttributes已簽署 CMS 屬性的摘要
CertificateValidation憑證鏈驗證結果

使用說明

相關 API