function TsaHttpAvailable: Boolean;
function TsaHttpBackendName: string;
function PostTimeStampQuery(const TsaUrl: string; const ReqDer: TBytes; out RespDer: TBytes): Boolean;
O FPdfTsa seleciona este transporte para o Delphi em plataformas POSIX. A implementação usa System.Net.HttpClient para enviar um POST real de HTTP ou HTTPS com Content-Type: application/timestamp-query e Accept: application/timestamp-reply
A fachada delega no FPdfTsaWin em Windows e no FPdfTsaFpc para Free Pascal nativo. Estes ramais mantêm os pacotes mais antigos do Delphi para Windows livres da dependência da implementação HTTP POSIX
A disponibilidade do transporte descreve o backend HTTP selecionado. Não estabelece a alcançabilidade de uma TSA, um certificado de assinante de confiança nem a validade do timestamp
| Function | Description |
|---|---|
TsaHttpAvailable | Comunica se o transporte HTTP da plataforma selecionada está disponível |
TsaHttpBackendName | Devolve System.Net.HttpClient para o Delphi POSIX, ou o nome comunicado pelo transporte delegado de Windows ou de Free Pascal |
PostTimeStampQuery | Envia por POST o pedido DER do chamador para TsaUrl, aceita uma resposta 2xx não vazia e com limites definidos, e devolve os seus bytes em RespDer; pedidos com falha limpam a saída e devolvem False |
O transporte do Delphi limita os corpos de pedido e de resposta a 4 MiB e os URLs a 8192 unidades de código de string. Só são aceites URLs HTTP e HTTPS, e os redirecionamentos estão desativados
As definições de timeout de ligação, envio e resposta são de 30000 milissegundos. Um worker de prazo pede o cancelamento do pedido HTTP nativo após o orçamento total de 30000 milissegundos; escritas com limites no stream de resposta e a verificação da resposta completa também recusam violações do prazo. A implementação HTTP do sistema operativo controla a rapidez com que o cancelamento nativo do pedido surte efeito
O HTTPS mantém as verificações de certificado e de hostname da plataforma. Um POST bem-sucedido é apenas sucesso de transporte: o FPdfTsa continua a analisar a resposta RFC 3161, a conferir o imprint e o nonce pedidos e a extrair o token. A validação de confiança PAdES verifica separadamente a assinatura CMS do token original, a cadeia de certificados, a evidência de revogação e o papel de timestamp
Uma resposta 2xx pode conter uma rejeição DER da TSA, que o parser de respostas de nível mais alto comunica como um pedido de timestamp com falha