function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;
FPdfTsa wählt diesen Transport für Delphi auf POSIX-Plattformen; die Implementierung sendet mit System.Net.HttpClient einen echten HTTP- oder HTTPS-POST mit Content-Type: application/timestamp-query und Accept: application/timestamp-reply
Die Fassade delegiert unter Windows an FPdfTsaWin und bei nativem Free Pascal an FPdfTsaFpc; ältere Windows-Delphi-Packages bleiben damit unabhängig von der POSIX-HTTP-Implementierung
Transportverfügbarkeit beschreibt den gewählten HTTP-Backend; sie belegt weder TSA-Erreichbarkeit noch ein vertrauenswürdiges Signaturzertifikat oder einen gültigen Zeitstempel
| Funktion | Beschreibung |
|---|---|
TsaHttpAvailable | Meldet, ob der gewählte Plattform-HTTP-Transport verfügbar ist |
TsaHttpBackendName | Liefert System.Net.HttpClient für Delphi POSIX oder den Namen des delegierten Windows- oder Free-Pascal-Transports |
PostTimeStampQuery | Sendet die DER-Anfrage an TsaUrl, akzeptiert eine nicht leere begrenzte 2xx-Antwort und liefert ihre Bytes in RespDer; ein Fehlschlag leert die Ausgabe und liefert False |
Der Delphi-Transport begrenzt Anfrage- und Antwortkörper auf 4 MiB und URLs auf 8192 Stringeinheiten; nur HTTP und HTTPS sind erlaubt, Weiterleitungen deaktiviert
Verbindungs-, Sende- und Antworttimeouts betragen 30000 Millisekunden; ein Deadline-Worker fordert nach dem gesamten 30000-Millisekunden-Budget den Abbruch der nativen HTTP-Anfrage an; begrenzte Antwortstreamschreibvorgänge und die Abschlussprüfung lehnen ebenfalls Budgetüberschreitungen ab; wie schnell der native Abbruch wirkt, bestimmt die HTTP-Implementierung des Betriebssystems
HTTPS behält Zertifikats- und Hostnamenprüfung der Plattform; ein erfolgreicher POST ist nur Transporterfolg: FPdfTsa parst weiterhin die RFC-3161-Antwort, prüft angeforderten Hash und Nonce und extrahiert das Token; PAdES-Vertrauensprüfung prüft separat dessen originale CMS-Signatur, Zertifikatskette, Widerrufsnachweise und Zeitstempelrolle
Eine 2xx-Antwort kann eine DER-Ablehnung der TSA enthalten, die der übergeordnete Parser als fehlgeschlagene Zeitstempelanfrage meldet