PDFium Delphi Component Docs

Jednotka FPdfTsaPosix

Jednotka: FPdfTsaPosix
Nativní HTTP transport Delphi POSIX pro požadavky timestamp RFC 3161

Syntaxe

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

Popis

FPdfTsa vybírá tento transport pro Delphi na platformách POSIX. Implementace používá System.Net.HttpClient pro skutečný HTTP nebo HTTPS POST s Content-Type: application/timestamp-query a Accept: application/timestamp-reply

Facade deleguje na FPdfTsaWin ve Windows a FPdfTsaFpc pro nativní Free Pascal. Díky těmto větvím starší balíčky Delphi pro Windows nemají závislost na HTTP implementaci POSIX

Dostupnost transportu popisuje vybraný HTTP backend. Neprokazuje dosažitelnost TSA, důvěryhodný certifikát podepisujícího ani platnost timestampu

Funkce

FunkcePopis
TsaHttpAvailableHlásí, zda je zvolený platformní HTTP transport dostupný
TsaHttpBackendNameVrací System.Net.HttpClient pro Delphi POSIX nebo název hlášený delegovaným transportem Windows či Free Pascal
PostTimeStampQueryOdešle DER dotaz volajícího na TsaUrl, přijme neprázdnou odpověď 2xx v limitech a vrátí její bajty v RespDer; neúspěšný požadavek vymaže výstup a vrátí False

Limity a ověřování

Transport Delphi omezuje těla požadavků i odpovědí na 4 MiB a URL na 8192 kódových jednotek řetězce. Přijímá jen URL HTTP a HTTPS a přesměrování jsou vypnutá

Timeout spojení, odesílání i odpovědi je nastaven na 30000 milisekund. Deadline worker po celkovém rozpočtu 30000 milisekund požádá o zrušení nativního HTTP požadavku; zápisy do omezeného streamu odpovědi i kontrola dokončené odpovědi také odmítají překročení uplynulého času. Jak rychle se nativní zrušení projeví, určuje HTTP implementace operačního systému

HTTPS zachovává platformní kontroly certifikátu a hostname. Úspěšný POST znamená jen úspěch transportu: FPdfTsa stále parsuje odpověď RFC 3161, kontroluje požadovaný imprint a nonce a extrahuje token. Validace důvěry PAdES zvlášť ověřuje podpis CMS původního tokenu, řetězec certifikátů, důkazy odvolání a timestamp roli

Odpověď 2xx může obsahovat DER odmítnutí od TSA, které parser vyšší úrovně nahlásí jako neúspěšný požadavek timestamp

Viz také

FPdfTsa, FPdfTsaFpc, FPdfTsaWin, TPdf.ValidatePadesTrust