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, который парсер ответов более высокого уровня сообщает как неудачный запрос метки времени