Aquisição assíncrona de provas de assinatura
THPDFSignatureEvidenceTask obtém tokens de timestamp, respostas OCSP e CRLs em workers de segundo plano, sem acoplar o HotPDF a uma pilha específica de HTTP, proxy ou autenticação
Requests and transport
Cada THPDFSignatureEvidenceRequest identifica o tipo de evidência, o URI, o content type, o corpo do pedido, o identificador de correlação e o tamanho máximo de resposta aceite
O callback de transporte recebe um pedido, um número de tentativa com base um e um token de cancelamento, e devolve uma resposta, um atraso de nova tentativa opcional, texto de diagnóstico e um dos valores setsSucceeded, setsRetry, setsPermanentFailure ou setsCancelled
O callback pode usar THTTPClient, Indy, WinHTTP, um cliente de proxy empresarial ou um serviço offline específico da aplicação
Retry and concurrency
THPDFSignatureEvidenceRetryPolicy.Default faz até três tentativas, começa em 250 milissegundos, duplica os atrasos até um teto de 10 segundos e limita a 30 segundos os atrasos de nova tentativa pedidos pelo servidor
O número de workers é limitado por tarefa, a ordem dos pedidos mantém-se estável no array de resultados, as esperas entre tentativas consultam o cancelamento a cada 50 milissegundos e as exceções de transporte entram no caminho de nova tentativa com a respetiva mensagem de diagnóstico retida
Results and cancellation
SnapshotResults devolve uma cópia profunda thread-safe enquanto a aquisição continua, WaitForResults espera pela conclusão e Cancel marca o trabalho em fila e ativo como cancelado através de um token partilhado
Os resultados distinguem sucesso, falha permanente, tentativas esgotadas, cancelamento e respostas demasiado grandes, e incluem o número de tentativas, os bytes da resposta e o último texto de diagnóstico
Os bytes de timestamp bem-sucedidos podem alimentar THPDFCMSSignOptions.GetSignatureTimeStamp, enquanto os bytes de OCSP e CRL podem preencher os atributos de revogação da assinatura, as entradas DSS ou THPDFCertificateValidationOptions