SetPAdESSignatureTimeStampToken

Segurança e assinaturas

Descrição

Valida um TimeStampToken RFC 3161 codificado em DER e injeta-o como atributo não assinado id-aa-signatureTimeStampToken no SignerInfo CMS selecionado

O método verifica a assinatura do token, exige que a única utilização crítica alargada da chave seja timeStamping, verifica um nome TSA codificado quando presente e compara a impressão da mensagem do token com o resumo configurado do signatureValue do signatário

Os atributos de carimbo temporal da assinatura existentes no signatário selecionado são substituídos, os atributos não assinados sem relação são conservados e o conjunto de atributos reconstruído é ordenado em DER

Sintaxe

Delphi

Function TPDFlib.SetPAdESSignatureTimeStampToken(STSProcessID: Integer;
  Const TimeStampTokenDER: AnsiString; SignerIndex: Integer= 0): Integer;

Parâmetros

STSProcessIDValor devolvido por uma das funções NewPAdESSignatureTimeStampProcessFrom*
TimeStampTokenDERTimeStampToken RFC 3161 completo codificado em DER devolvido pela TSA
SignerIndexÍndice do signatário CMS baseado em zero, com o primeiro signatário como predefinição

Devolve

0O identificador do processo é inválido
1O token foi validado e injetado
11O token, o CMS, o signatário selecionado, as restrições TSA ou a impressão da mensagem é inválido
OtherNão foi possível preparar o PDF de origem ou a assinatura selecionada, conforme comunicado por GetPAdESSignatureTimeStampProcessResult

Workflow

  1. Reserve espaço suficiente para o conteúdo da assinatura com SetSignProcessReserveContentsBytes antes de criar a assinatura original
  2. Cria um processo de carimbo de data e hora e seleciona o campo de assinatura e o algoritmo de resumo
  3. Chame GetPAdESSignatureValueHashHex e envie essa impressão digital da mensagem para a TSA
  4. Passe o TimeStampToken devolvido a este método
  5. Termine com um método EndPAdESSignatureTimeStampProcessTo*

A biblioteca valida e reescreve o CMS, mas não executa o pedido HTTP à TSA

Consulte também

GetPAdESSignatureValueHashHex, SetPAdESSignatureTimeStampDigestAlgorithm, SetSignProcessReserveContentsBytes, TPDFlibSignatureVerifier