SetSignProcessDocTimeStamp

Segurança e Assinaturas

Descrição

Muda um sign process para o modo Document Time-stamp do PAdES, conforme definido na cláusula 5.4.3 da ETSI EN 319 142-1 v1.2.1. O Signature Dictionary resultante usa /Type /DocTimeStamp e /SubFilter /ETSI.RFC3161, e omite as chaves /M, /Reason, /Location, /ContactInfo e /Name que a especificação não permite em uma assinatura apenas de carimbo de tempo.

O passthrough é habilitado automaticamente porque o TimeStampToken (RFC 3161 atualizado pela RFC 5816) em /Contents é fornecido por uma Time-Stamp Authority externa, em vez de ser construído no próprio processo. Passe 0 em SignatureLength para usar a reserva padrão de Contents de 8192 bytes, ou especifique um valor explícito dimensionado para a resposta da TSA que você espera (respostas típicas têm 2-6 KB de DER).

Depois de chamar EndSignProcessTo*, obtenha o ByteRange com GetSignProcessByteRange, calcule o message imprint SHA-256 dos bytes cobertos, envie-o à TSA e então injete o TimeStampToken retornado (codificado em hex, com padding até o tamanho reservado de Contents) no stream de saída.

Sintaxe

Delphi

Function TPDFlib.SetSignProcessDocTimeStamp(SignProcessID, SignatureLength: Integer): Integer;

Parâmetros

SignProcessIDValor retornado por uma das funções NewSignProcessFrom*.
SignatureLengthTamanho reservado, em bytes, para o payload do TimeStampToken em /Contents. Passe 0 para aceitar o padrão de 8192 bytes.