function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;
FPdfTsa selecciona este transporte para Delphi en plataformas POSIX; la implementación usa System.Net.HttpClient para enviar un POST HTTP o HTTPS real con Content-Type: application/timestamp-query y Accept: application/timestamp-reply
La fachada delega en FPdfTsaWin en Windows y en FPdfTsaFpc para Free Pascal nativo; esas ramas evitan que los paquetes Delphi antiguos de Windows dependan de la implementación HTTP POSIX
La disponibilidad del transporte describe el backend HTTP seleccionado; no demuestra que la TSA sea accesible, que el certificado del firmante sea confiable ni que el sello de tiempo sea válido
| Función | Descripción |
|---|---|
TsaHttpAvailable | Indica si está disponible el transporte HTTP seleccionado para la plataforma |
TsaHttpBackendName | Devuelve System.Net.HttpClient en Delphi POSIX, o el nombre informado por el transporte delegado de Windows o Free Pascal |
PostTimeStampQuery | Envía la consulta DER del llamador a TsaUrl, acepta una respuesta 2xx no vacía dentro de los límites y devuelve sus bytes en RespDer; si la solicitud falla, vacía la salida y devuelve False |
El transporte Delphi limita los cuerpos de solicitud y respuesta a 4 MiB y las URL a 8192 unidades de código de cadena; solo acepta URL HTTP y HTTPS, y deshabilita las redirecciones
Los tiempos de espera de conexión, envío y respuesta son de 30000 milisegundos; un worker de plazo solicita cancelar la petición HTTP nativa al superar el presupuesto total de 30000 milisegundos; las escrituras limitadas del flujo de respuesta y la comprobación de la respuesta completa también rechazan excesos de tiempo; la implementación HTTP del sistema operativo determina cuánto tarda en hacerse efectiva la cancelación nativa
HTTPS mantiene las comprobaciones de certificado y nombre de host de la plataforma; un POST exitoso solo confirma el transporte: FPdfTsa aún analiza la respuesta RFC 3161, comprueba la huella y el nonce solicitados y extrae el token; la validación de confianza PAdES verifica por separado la firma CMS del token original, la cadena de certificados, la evidencia de revocación y la función del sello de tiempo
Una respuesta 2xx puede contener un rechazo DER de la TSA, que el analizador de respuesta de nivel superior informa como solicitud de sello de tiempo fallida