THPDFHeadlessDocument.TimestampToFile

function TimestampToFile(FieldIndex: Integer; const FileName: string;
  const Options: THPDFHeadlessCMSOptions;
  ReservedTimestampBytes: Integer = 16384): THPDFHeadlessCMSResult;

既存の未署名署名フィールドに実際のドキュメントタイムスタンプを作成し、独立した増分 PDF 出力をアトミックに公開します

FieldIndex は FindFormField が返す 0 起点のフォームフィールドインデックスです。VerifySignature が受け取る充填済み署名インデックスとは異なります

出力辞書は Type DocTimeStamp と SubFilter ETSI.RFC3161 を使い、暗号化されていない Contents 予約領域に正規の DER タイムスタンプトークンを置きます

DigestMethod は、正確に対象とする PDF ByteRange のために SHA256、SHA384、SHA512 を選びます。ライターはトークン要求の前に数値範囲へパッチを当てます

Timestamp.Transport は実際の RFC 3161 応答を返さなければならず、Timestamp.TrustedCAFile は信頼された TSA ルートを明示的に特定しなければなりません。省略可能な TrustedCRLFile と RequireRevocation は現在の発行者署名付き CRL を検証します

応答は正確なメッセージインプリントと新しいリクエスト nonce を結び付け、適切な TSA 証明書と ESS バインディングを使い、公開前にその場の署名・用途・チェーン・設定された失効検査に合格しなければなりません

アプリケーションの署名鍵や署名者証明書は不要です。必須の署名証明書制約は、実際に認証された TSA 証明書と埋め込み証明書チェーンを評価します

必須の署名シードの handler、RFC3161 SubFilter、ダイジェスト、reason、タイムスタンプ URL、証明書の subject と issuer、そして現在の名前付きアピアランス制約は引き続き有効です

認証済み DocMDP と FieldMDP の検査は、正規のドキュメントタイムスタンプ挿入に必要な変更だけを許します。P1 やフィールドロックの下にある既存未署名署名フィールドへの挿入も含みます。この標準的な例外は、元のポリシーが禁止する通常の承認署名やフォーム変更を許しません

後の変更検査はタイムスタンプを認証し、フィールドと署名をタイムスタンプ付きリビジョンに結び付け、元の証明済みオブジェクトグラフとロックされたフィールドの保護を続けます

PDF 2.0 より前のソースでは、出力は必要に応じて BaseVersion 1.7 と ExtensionLevel 1 の ESIC 拡張宣言を追加し、既存の拡張プロファイルを保持し、元のヘッダーを変えずに Catalog Version 1.7 で古い実効 PDF バージョンを引き上げます

読み取り専用フィールド、ソースエイリアス、AES フォーム充填権限は引き続き強制されます。非互換な承認証明、LegalAttestation、Adobe 署名付き失効プロファイル、タイムスタンプ FieldMDP 変換参照は棄却されます

ReservedTimestampBytes はドキュメントオブジェクト予算内の正のトークン容量です。完全なトークンが固定の 16 進予約領域に収まらなければなりません

作成は元のソースバイトと AES セキュリティを保持し、署名 Contents を非暗号化のままにし、元のポリシーに従って他のメタデータを暗号化し、ロード済みフィールドグラフを変更しません

失敗、キャンセル、無効な応答、不足した予算は、既存の出力先を保ち、未公開のステージングファイルを削除します

ドキュメント、CMS、タイムスタンプのキャンセルトークンは、nil でない場合一致しなければなりません。対象データは最大 64 KiB のチャンクで読まれます

新しいタイムスタンプウィジェットの準備には AddSignatureField と SetSignatureFieldAppearance を、結果のドキュメントタイムスタンプの認証には VerifySignature を使ってください

成功した作成の後、TimestampCount は 1、TimestampValid は true になります。CertificateTrusted と TimestampTrustEvaluated は明示的に検証された TSA トラストパスを反映します

拡張プロファイルはETSI EN 319 142-1 の 5.6 項に従います。必要なタイムスタンプ変更はISO 32000-2 の MDP 明確化に従います

ストリーミングタイムスタンププロバイダー · オプション