PDFium Delphi Component Docs

Unidade FPdfTsaPosix

Unidade: FPdfTsaPosix
Transporte HTTP POSIX nativo do Delphi para requisições de carimbo de tempo RFC 3161

Syntax

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

Description

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 ao FPdfTsaWin no Windows e ao FPdfTsaFpc para Free Pascal nativo. Esses 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. Ela não estabelece alcançabilidade da TSA, um certificado de assinante confiável nem a validade do carimbo de tempo

Functions

FunctionDescription
TsaHttpAvailableInforma se o transporte HTTP da plataforma selecionada está disponível
TsaHttpBackendNameRetorna System.Net.HttpClient para o Delphi POSIX, ou o nome informado pelo transporte delegado do Windows ou do Free Pascal
PostTimeStampQueryEnvia por POST a consulta DER de quem chama para TsaUrl, aceita uma resposta 2xx não vazia e com limites definidos, e retorna seus bytes em RespDer; requisições com falha limpam a saída e retornam False

Limites e verificação

O transporte do Delphi limita os corpos de requisição e de resposta a 4 MiB e as URLs a 8192 unidades de código de string. Somente URLs HTTP e HTTPS são aceitas, e os redirecionamentos estão desativados

As configurações de timeout de conexão, envio e resposta são de 30000 milissegundos. Um worker de prazo solicita o cancelamento da requisição HTTP nativa após o orçamento total de 30000 milissegundos; gravações com limites no stream de resposta e a verificação da resposta completa também rejeitam violações do prazo. A implementação HTTP do sistema operacional controla a rapidez com que o cancelamento nativo da requisição 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 ainda analisa a resposta RFC 3161, confere o imprint e o nonce solicitados e extrai 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 carimbo de tempo

Uma resposta 2xx pode conter uma rejeição DER da TSA, que o parser de respostas de nível mais alto relata como uma requisição de carimbo de tempo com falha

See Also

FPdfTsa, FPdfTsaFpc, FPdfTsaWin, TPdf.ValidatePadesTrust