THPDFSignatureInfo レコード

ロード済み PDF 署名 1 件について、証明書の識別情報からバイト範囲のカバレッジ、検証判定までを記述します

宣言

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署名者証明書 subject の CN
SubjectDN証明書の subject 識別名(DN)を整形した文字列
IssuerDN証明書の issuer 識別名(DN)を整形した文字列
SerialNumberHex証明書のシリアル番号(16 進エンコード)
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署名時刻が証明書の有効期間内に収まっているか
StatusTHPDFSignatureVerifyStatus 型の検証判定
PublicKeyAlgorithm公開鍵ファミリー。RSA、ECDSA、EdDSA、ML-DSA のいずれか
SignatureAlgorithmCMS 署名アルゴリズム名
SignatureAlgorithmOID署名アルゴリズムのオブジェクト識別子
CurveNameECDSA 曲線名。P-256 など
TimestampRFC 3161 署名タイムスタンプまたはドキュメントタイムスタンプの詳細
CMSAttributes署名済み CMS 属性の概要
CertificateValidation証明書チェーン検証の結果

使用上の注意

関連 API