SetSignProcessDocTimeStamp
セキュリティと署名
説明
署名処理を、ETSI EN 319 142-1 v1.2.1 第 5.4.3 項で定義される PAdES Document Time-stamp モードに切り替えます。生成される Signature Dictionary は /Type /DocTimeStamp と /SubFilter /ETSI.RFC3161 を使用し、タイムスタンプ専用署名では仕様上許可されない /M、/Reason、/Location、/ContactInfo、/Name キーを省略します
/Contents 内の TimeStampToken(RFC 3161、RFC 5816 で更新)がプロセス内で構築されず外部の Time-Stamp Authority から提供されるため、パススルーは自動的に有効になります。既定の 8192 バイトの Contents 予約を使用するには 0 を SignatureLength に渡すか、予想される TSA 応答に合わせた明示的な値を指定します(通常の応答は 2~6 KB の DER)
EndSignProcessTo* を呼び出した後、GetSignProcessByteRange で ByteRange を取得し、対象バイトの SHA-256 メッセージインプリントを計算して TSA に送信し、返された TimeStampToken(16 進エンコードし、予約された Contents サイズにパディング)を出力ストリームにパッチします
構文
Delphi
Function TPDFlib.SetSignProcessDocTimeStamp(SignProcessID, SignatureLength: Integer): Integer;
パラメータ
| SignProcessID | NewSignProcessFrom* 関数のいずれかが返す値 |
|---|---|
| SignatureLength | /Contents 内の TimeStampToken ペイロード用に予約するバイト数。0 を渡すと 8192 バイトの既定値を受け入れます |