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渲染后的证书主体 DN
IssuerDN渲染后的证书签发者 DN
SerialNumberHex证书序列号,十六进制编码
ValidFrom证书 notBefore,缺失时为 0
ValidTo证书 notAfter,缺失时为 0
SigningTime已签名属性 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签名时间是否落在证书有效期窗口之内
Status类型为 THPDFSignatureVerifyStatus 的验证判定
PublicKeyAlgorithm公钥族:RSA、ECDSA、EdDSA 或 ML-DSA
SignatureAlgorithmCMS 签名算法名称
SignatureAlgorithmOID签名算法对象标识符
CurveNameECDSA 曲线名称,例如 P-256
TimestampRFC 3161 签名时间戳或文档时间戳详情
CMSAttributes已签名 CMS 属性的摘要
CertificateValidation证书链验证结果

使用说明

相关 API