HPDFWriteHeadlessSignatureReservation
省略可能な THPDFHeadlessSignatureMetadata の値は、Unicode の Reason、Location、ContactInfo、Name エントリーになります。バイトが 1 つ書かれる前に、同じ StringEncoder がフィールドロック名とメタデータの両方に適用されます
function HPDFWriteHeadlessSignatureReservation(Target: TStream;
ObjectNumber, Generation, ReservedCMSBytes, MaxObjectBytes: Integer;
CAdES: Boolean = False; CertificationPermission: Integer = 0;
CatalogObjectNumber: Integer = 0; CatalogGeneration: Integer = 0;
FieldLock: PHPDFHeadlessFieldLock = nil;
StringEncoder: THPDFHeadlessPolicyStringEncoder = nil;
StringEncoderContext: Pointer = nil;
Metadata: PHPDFHeadlessSignatureMetadata = nil;
DocumentTimestamp: Boolean = False): THPDFHeadlessSignatureReservation;
固定幅の数値 ByteRange スロットと、ゼロで埋められた 16 進 Contents 予約を持つ、本物の間接署名ディクショナリーを書き込みます
出力ストリームは呼び出し側が所有し、正のオブジェクト番号、0 から 65535 の世代、正の DER 予約、オブジェクトバイト予算を供給しなければなりません
この関数は、予約の書き込みや確保の前にディクショナリー全体のサイズを確認し、その 16 進ペイロードを有界なチャンクで埋めます
ETSI.CAdES.detached には CAdES=true を設定します。デフォルトは adbe.pkcs7.detached を書き込みます
有効な Catalog 参照と 1 から 3 の証明権限を与えると、DocMDP 変換が出力されます。省略可能なフィールドロックは、同じ Reference 配列の中に本物の FieldMDP 変換を出力します
フィールドロック名は検証され、予約を書く前に UTF-16BE の PDF 文字列としてエンコードされます。暗号化環境の低レベル呼び出し側は、平文バイトを受け取って暗号化文字列バイトを返す StringEncoder コールバックを供給します
コールバックは予約バイトが 1 つも書かれる前に実行され、エンコードによる膨張はオブジェクト予算に含まれます。THPDFHeadlessDocument は、認証済みドキュメント暗号化コンテキストを自動的に供給します
返されたオブジェクトオフセットを共有 xref ライターに登録し、オブジェクトを署名フィールドに接続し、HPDFFinalizeHeadlessSignatureReservation を呼ぶ前に PDF trailer を完成させてください
ステージングと公開は低レベル呼び出し側の責任です。THPDFHeadlessDocument.SignToFile が、ソース保護、暗号化保持、予算、アトミックなファイル公開を提供します
DocumentTimestamp=true は、承認プロファイルの代わりに DocTimeStamp/ETSI.RFC3161 を書き込み、証明やフィールドロックの変換参照を禁止します。確定には HPDFFinalizeHeadlessDocumentTimestampReservation を使ってください