THPDFHeadlessDocument.TimestampToFile

function TimestampToFile(FieldIndex: Integer; const FileName: string;
  const Options: THPDFHeadlessCMSOptions;
  ReservedTimestampBytes: Integer = 16384): THPDFHeadlessCMSResult;

Cria um document timestamp real num campo de assinatura existente não assinado e publica atomicamente uma saída PDF incremental independente

FieldIndex é o índice de campo de formulário com base zero retornado por FindFormField; ele difere do índice de assinatura preenchida aceito por VerifySignature

O dicionário de saída usa Type DocTimeStamp e SubFilter ETSI.RFC3161, com um token DER genuíno de timestamp na reserva Contents não criptografada dele

DigestMethod seleciona SHA256, SHA384 ou SHA512 para o ByteRange exato coberto do PDF; o writer aplica patches nas faixas numéricas antes de solicitar o token

Timestamp.Transport precisa retornar uma resposta real RFC 3161, e Timestamp.TrustedCAFile precisa identificar explicitamente roots confiáveis do TSA; TrustedCRLFile e RequireRevocation opcionais validam CRLs atuais assinadas por issuers

A resposta precisa vincular o message imprint exato e o nonce fresco da requisição, usar um certificado TSA apropriado e binding ESS, e passar suas checagens imediatas de assinatura, propósito, cadeia e revogação configuradas antes da publicação

Nenhuma chave de assinatura da aplicação nem certificado de signer é necessário; constraints obrigatórias de certificados de assinatura avaliam o certificado TSA realmente autenticado e a cadeia de certificados embutida

Handler obrigatório de signature seeds, SubFilter RFC3161, digest, razão, URL de timestamp, subject e issuer de certificados, e constraints atuais de aparências nomeadas permanecem efetivos

Checagens autenticadas de DocMDP e FieldMDP permitem apenas as mudanças necessárias para inserir um document timestamp genuíno, incluindo inserção num campo de assinatura existente não assinado sob P1 ou um field lock; esta exceção padrão não permite assinatura de aprovação comum nem mudanças de formulários proibidas pela política original

Checagens posteriores de modificação autenticam o timestamp, vinculam o campo e a assinatura à revisão com timestamp dele, e continuam protegendo o grafo original certificado de objetos e os campos travados

Para uma origem anterior ao PDF 2.0, a saída adiciona a declaração de extensão ESIC com BaseVersion 1.7 e ExtensionLevel 1 quando necessário, preserva perfis de extensão existentes e promove uma versão efetiva antiga do PDF através do Catalog Version 1.7 sem alterar o header original

Campos read-only, aliases da origem e permissões AES de form-fill permanecem aplicados; certificação de aprovação incompatível, LegalAttestation, perfis Adobe de revogação assinada e referências de transforms FieldMDP de timestamps são rejeitados

ReservedTimestampBytes é uma capacidade positiva de token dentro do orçamento de objetos do documento; o token completo precisa caber na reserva hexadecimal fixa

A criação preserva os bytes originais da origem e a segurança AES, mantém Contents de assinaturas não criptografado, criptografa os demais metadados sob a política original, e deixa o grafo de campos carregado inalterado

Falhas, cancelamento, respostas inválidas e orçamentos insuficientes preservam qualquer destino existente e removem arquivos de staging não publicados

Os tokens de cancelamento do documento, do CMS e do timestamp precisam concordar quando não nil; os dados cobertos são lidos em chunks de no máximo 64 KiB

Use AddSignatureField e SetSignatureFieldAppearance para preparar um novo widget de timestamp, e VerifySignature para autenticar o document timestamp resultante

TimestampCount é um e TimestampValid é true após a criação bem-sucedida; CertificateTrusted e TimestampTrustEvaluated refletem a passada explícita validada de confiança no TSA

O perfil de extensão segue a ETSI EN 319 142-1, cláusula 5.6; as mudanças necessárias de timestamp seguem o esclarecimento MDP da ISO 32000-2

Provider de timestamps em streaming · Opções