function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;
FPdfTsa selecciona este transporte en Delphi 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. Así los paquetes Delphi Windows antiguos no dependen de la implementación HTTP POSIX
La disponibilidad del transporte describe el backend HTTP elegido. No demuestra acceso a TSA, confianza en el certificado firmante ni validez del timestamp
| 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 indicado por el transporte Windows o Free Pascal delegado |
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; los fallos vacían la salida y devuelven False |
El transporte Delphi limita cuerpos de petición y respuesta a 4 MiB y URL a 8192 unidades de string. Solo acepta HTTP y HTTPS, sin redirecciones
Los timeouts de conexión, envío y respuesta son 30000 milliseconds. Un worker de plazo solicita cancelar la petición HTTP nativa al agotar el presupuesto total de 30000 milliseconds; las escrituras limitadas del flujo de respuesta y la comprobación final también rechazan excesos de tiempo. La implementación HTTP del sistema operativo controla la rapidez efectiva de la cancelación nativa
HTTPS mantiene las comprobaciones de certificado y hostname de la plataforma. Un POST correcto solo acredita el transporte: FPdfTsa todavía analiza RFC 3161, comprueba imprint y nonce solicitados y extrae el token. La validación PAdES verifica por separado firma CMS del token original, cadena de certificados, evidencias de revocación y rol de timestamp
Una respuesta 2xx puede contener un rechazo DER de TSA, que el parser de nivel superior notifica como petición de timestamp fallida