PDFium Delphi Component Docs

Модуль FPdfTsaPosix

Модуль: FPdfTsaPosix
Нативный HTTP-транспорт Delphi POSIX для запросов меток времени RFC 3161

Syntax

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

Описание

FPdfTsa выбирает этот транспорт для Delphi на платформах POSIX. Реализация использует System.Net.HttpClient, чтобы отправить настоящий HTTP- или HTTPS-POST с Content-Type: application/timestamp-query и Accept: application/timestamp-reply

Фасад делегирует FPdfTsaWin в Windows и FPdfTsaFpc для нативного Free Pascal. Эти ветки избавляют старые пакеты Windows Delphi от зависимости от POSIX-реализации HTTP

Доступность транспорта описывает выбранный HTTP-бэкенд. Она не гарантирует достижимость TSA, доверенный сертификат подписанта или действительность метки времени

Функции

ФункцияОписание
TsaHttpAvailableСообщает, доступен ли выбранный платформенный HTTP-транспорт
TsaHttpBackendNameВозвращает System.Net.HttpClient для Delphi POSIX либо имя, которое сообщает делегированный транспорт Windows или Free Pascal
PostTimeStampQueryОтправляет DER-запрос вызывающего на TsaUrl, принимает непустой ограниченный ответ 2xx и возвращает его байты в RespDer; неудачные запросы очищают вывод и возвращают False

Лимиты и проверка

Транспорт Delphi ограничивает тела запросов и ответов 4 МиБ, а URL — 8192 кодовыми единицами строки. Принимаются только URL HTTP и HTTPS, перенаправления отключены

Настройки тайм-аутов соединения, отправки и ответа — 30 000 миллисекунд. Воркер предельного срока запрашивает отмену нативного HTTP-запроса по истечении общего бюджета в 30 000 миллисекунд; ограниченные записи в поток ответа и финальная проверка ответа также отклоняют нарушение бюджета. Насколько оперативно срабатывает отмена нативного запроса, определяет HTTP-реализация операционной системы

HTTPS сохраняет платформенные проверки сертификата и имени хоста. Успешный POST — это лишь успех транспорта: FPdfTsa всё ещё разбирает ответ RFC 3161, проверяет запрошенный отпечаток и nonce и извлекает токен. Доверие PAdES отдельно проверяет CMS-подпись исходного токена, цепочку сертификатов, доказательства отзыва и роль метки времени

Ответ 2xx может содержать DER-отказ от TSA, который парсер ответов более высокого уровня сообщает как неудачный запрос метки времени

См. также

FPdfTsa, FPdfTsaFpc, FPdfTsaWin, TPdf.ValidatePadesTrust