function WinHttpAvailable: Boolean;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes;
out RespDer: TBytes): Boolean;
FPdfTsaWin は FPdfTsa が使用する Windows 固有のタイムスタンプトランスポートです。WinHttp API を使用してエンコード済みの TimeStampReq をタイムスタンプ機関の URL に POST し、TimeStampResp バイトを収集します
WinHttpAvailable はこのマシンで WinHttp バインディングが解決できるかを報告します。PostTimeStampQuery は実際の HTTP 交換を実行し、要求がトランスポートレベルで失敗した場合に (例外を発生させるのではなく) False を返すため、呼び出し側は独自の再試行ポリシーを適用できます
すべての WinHttp ハンドルと関数ポインタのバインディングは implementation セクションにあり、インターフェースは可用性確認と送信ヘルパのみを公開します
| 関数 | 説明 |
|---|---|
WinHttpAvailable | WinHttp トランスポートのバインディングを実行時に解決できる場合に True を返します |
PostTimeStampQuery | TimeStampReq を TSA の URL に POST し、応答の DER を返します。トランスポートの失敗時は False を返します |
| 定数 | 目的 |
|---|---|
TsaMaxResponseBytes | タイムスタンプ応答の上限は 4 MB です。この上限を超える応答は蓄積せず破棄するため、悪意ある、または壊れたタイムスタンプ局がメモリを使い潰すことはできません。他プラットフォームのトランスポートも同じ上限を適用します |
Content-Type: application/timestamp-query で送信され、application/timestamp-reply を期待しますPadesTimestampOverride で別のトランスポートが登録されていない限り FPdfTsa は PadesTsaAvailable = False を返します