const TsaMaxResponseBytes= 4* 1024* 1024;
function WinHttpAvailable: Boolean;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes;
out RespDer: TBytes): Boolean;
FPdfTsaWin ist das Windows-spezifische Zeitstempel-Transport-Backend, das von FPdfTsa verwendet wird. Es verwendet die WinHttp-API, um eine kodierte TimeStampReq per POST an eine Zeitstempel-Autoritäts-URL zu senden und die TimeStampResp-Bytes zu sammeln
WinHttpAvailable meldet, ob sich die WinHttp-Bindungen auf dieser Maschine auflösen lassen; PostTimeStampQuery führt den eigentlichen HTTP-Austausch aus und gibt False zurück (statt eine Exception auszulösen), wenn die Anforderung auf Transportebene scheitert, sodass der Aufrufer seine eigene Wiederholungs-Strategie anwenden kann
Alle WinHttp-Handle- und Funktionszeiger-Bindungen befinden sich im Implementation-Abschnitt; das Interface stellt nur die Verfügbarkeitsprüfung und den Post-Helfer bereit
| Funktion | Beschreibung |
|---|---|
WinHttpAvailable | Gibt True zurück, wenn sich die WinHttp-Transport-Bindungen zur Laufzeit auflösen lassen |
PostTimeStampQuery | Sendet eine TimeStampReq per POST an eine TSA-URL und liefert die Antwort als DER; gibt False bei Transportfehler zurück |
| Konstante | Zweck |
|---|---|
TsaMaxResponseBytes | Obergrenze für eine Zeitstempel-Antwort, 4 MB; eine Antwort, die diese Grenze überschreitet, wird verworfen, statt angesammelt zu werden, damit eine bösartige oder fehlerhafte Autorität den Speicher nicht aufzehren kann. Die Transporte auf anderen Plattformen erzwingen dieselbe Grenze |
Content-Type: application/timestamp-query gesendet und erwartet application/timestamp-replyPadesTsaAvailable = False, sofern kein anderer Transport über PadesTimestampOverride registriert ist