function WinHttpAvailable: Boolean;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes;
out RespDer: TBytes): Boolean;
FPdfTsaWin 是 FPdfTsa 使用的 Windows 專屬時間戳記傳輸。它使用 WinHttp API 將編碼後的 TimeStampReq POST 到時間戳記授權單位 URL,並收集 TimeStampResp 位元組
WinHttpAvailable 回報 WinHttp 繫結在此機器上是否可解析;PostTimeStampQuery 執行實際的 HTTP 交換,並在請求於傳輸層失敗時傳回 False(而非拋出例外),讓呼叫端套用自己的重試政策
所有 WinHttp 控制代碼與函式指標繫結都位於 implementation 區段;interface 只公開可用性檢查與投遞輔助函式
| Function | Description |
|---|---|
WinHttpAvailable | WinHttp 傳輸繫結可在執行期解析時傳回 True |
PostTimeStampQuery | 將 TimeStampReq POST 到 TSA URL 並傳回回應 DER;傳輸失敗時傳回 False |
| 常數 | 用途 |
|---|---|
TsaMaxResponseBytes | 時間戳回應的上限為 4 MB;超過上限的回應會直接捨棄而不是持續累積,因此惡意或損壞的授權單位無法耗盡記憶體。其他平台上的傳輸實作也執行同樣的限制 |
Content-Type: application/timestamp-query 送出,並預期 application/timestamp-replyPadesTimestampOverride 註冊其他傳輸,FPdfTsa 會回報 PadesTsaAvailable = False