PDFium Delphi Component Docs

FPdfTsaPosix unit

Unit: FPdfTsaPosix
Native Delphi POSIX HTTP transport for RFC 3161 timestamp requests

Syntax

function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;

Description

FPdfTsa selects this transport for Delphi on POSIX platforms. The implementation uses System.Net.HttpClient to send a real HTTP or HTTPS POST with Content-Type: application/timestamp-query and Accept: application/timestamp-reply

The facade delegates to FPdfTsaWin on Windows and to FPdfTsaFpc for native Free Pascal. Those branches keep older Windows Delphi packages free of a dependency on the POSIX HTTP implementation

Transport availability describes the selected HTTP backend. It does not establish TSA reachability, a trusted signer certificate, or timestamp validity

Functions

FunctionDescription
TsaHttpAvailableReports whether the selected platform HTTP transport is available
TsaHttpBackendNameReturns System.Net.HttpClient for Delphi POSIX, or the name reported by the delegated Windows or Free Pascal transport
PostTimeStampQueryPosts the caller's DER query to TsaUrl, accepts a nonempty bounded 2xx response, and returns its bytes in RespDer; failed requests clear the output and return False

Limits and verification

The Delphi transport limits request and response bodies to 4 MiB and URLs to 8192 string code units. Only HTTP and HTTPS URLs are accepted, and redirects are disabled

Connection, send, and response timeout settings are 30000 milliseconds. A deadline worker requests cancellation of the native HTTP request after the overall 30000 millisecond budget; bounded response-stream writes and the completed response check also reject elapsed-budget violations. The operating system HTTP implementation controls how promptly native request cancellation takes effect

HTTPS retains the platform certificate and hostname checks. A successful POST is only transport success: FPdfTsa still parses the RFC 3161 response, checks the requested imprint and nonce, and extracts the token. PAdES trust validation verifies that original token's CMS signature, certificate chain, revocation evidence, and timestamp role separately

A 2xx response may contain a DER rejection from the TSA, which the higher-level response parser reports as a failed timestamp request

See Also

FPdfTsa, FPdfTsaFpc, FPdfTsaWin, TPdf.ValidatePadesTrust