ネイティブ Linux 署名ワークフロー

バージョン付きコールバック ABI は、ロード済みドキュメントか明示的な入力コールバックに対して schemaVersion 1 の sign ジョブを実行します。元のソースリビジョン、ドキュメント ID、認証済み AES-256 R5/R6 ポリシーは保持されます

署名識別情報

certificatePEM と privateKeyPEM を供給するか、正規パディングされた pfxBase64 と pfxPassword を供給します。これらの識別情報形式の混在は無効です

password は明示的な PDF 入力を認証します。ロード済みコンテキストは自身の PDF パスワードを保持し、別の PFX パスワードが署名コンテナを認証します

PFX デコードは、OpenSSL が上限付きコンテナを解析する前に、アルファベット、パディング、未使用ビットを検査します。プライベートな識別情報バッファは操作後にクリアされます

署名フィールドとアピアランス

field は既存の未署名署名フィールドを選択します。0 起点の page 上に新しい完全修飾フィールド名を作るには createField: true を設定します

新しいフィールドの座標は PDF ユーザー空間を使います。left、bottom、right、top の既定は 36、36、240、108 です。既存の名前を再作成することはできません

省略可能な caption は、埋め込み TrueType フォント、ToUnicode マッピング、ネイティブの複雑な文字体系シェーピングを持つ明示的な Unicode アピアランスを生成します。fontFamily の既定は DejaVu Sans、fontSize の既定は 12 です

プロファイルと証明

cades は ETSI.CAdES.detached を選択します。trustedCAFile は署名時トラスト検証のための明示的な CA ポリシーを供給し、reservedCMSBytes の既定は 16384 です

certificationPermission は承認署名では 0、最初のドキュメント証明署名では 1、2、3 です。ライターは対応する DocMDP 変換とカタログ権限バインディングを作成します

ユーザーパスワードの権限制限、読み取り専用フィールド、既存の署名、証明制約は、ネイティブドキュメント署名ポリシーによって引き続き強制されます

トランザクション性のある公開

ポータブルな Pascal の TimestampToFile API は、PDF ByteRange に対して ESIC 宣言、明示的な TSA トラストと CRL ポリシー、認証済み DocMDP/FieldMDP タイムスタンプ例外を含む独立した DocTimeStamp を ETSI.RFC3161 で作成します

このドキュメントタイムスタンプのエントリポイントは Pascal API です。既存の sign ジョブの署名タイムスタンプは、後述の ABI タイムスタンプコールバックが供給します

拡張 ABI タイムスタンプ転送は、上限付き応答バイト、共有キャンセル、明示的な TSA トラスト/失効ポリシーを備えた同期の呼び出し側所有コールバックを通じて、実際の RFC 3161 応答を供給します

output と result のコールバックは完全に準備された署名を受け取ります。コールバック公開の前に、ABI は候補を再ロードして署名済みドキュメントコンテキストを検証します

ロード済みコンテキストを置き換えるのは成功した公開だけです。無効な識別情報、フィールド作成、予算、キャンセル、コールバック失敗は以前のドキュメントとそのフィールドツリーを保ちます

出力コールバックは呼び出し側所有で、後続のコールバックが失敗したときには既にバイトを消費していることがあります。外部ロールバックを必要とする呼び出し側は、それらのバイトを自身でステージングしなければなりません

受け入れ

Linux の FPC 3.2.2 と 3.3.1 はそれぞれ、270 件の実際の ctypes アサーション、228 件の独立した PDF/画像/セキュリティ/CMS 検査、33 件の C ABI アサーション、80 件の並行共有ハンドル操作に合格します

独立した検査は、AES の ID とセキュリティポリシーを認証し、OpenSSL で CMS と CAdES を検証し、改ざんされたコンテンツを棄却し、証明変換と埋め込みアピアランスフォントを調べ、実際の可視署名ピクセルを検証します

ネイティブ C ABI · Pascal PFX 署名 · Pascal タイムスタンプ転送