SetPAdESSignatureTimeStampToken
Segurança e Assinaturas
Descrição
Valida um TimeStampToken RFC 3161 codificado em DER e o injeta como atributo não assinado id-aa-signatureTimeStampToken no SignerInfo CMS selecionado
O método verifica a assinatura do token, exige que o único extended key usage crítico seja timeStamping, confere um nome de TSA codificado quando presente, e compara o message imprint do token com o digest configurado do signatureValue do signer
Os atributos de signature timestamp existentes no signer selecionado são substituídos, atributos não assinados não relacionados são preservados 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
| STSProcessID | Valor retornado por uma das funções NewPAdESSignatureTimeStampProcessFrom* |
|---|---|
| TimeStampTokenDER | TimeStampToken RFC 3161 completo, codificado em DER, retornado pela TSA |
| SignerIndex | Índice do signer CMS com base zero, com padrão o primeiro signer |
Valores retornados
| 0 | O identificador do processo é inválido |
|---|---|
| 1 | O token foi validado e injetado |
| 11 | O token, o CMS, o signer selecionado, as restrições da TSA ou o message imprint é inválido |
| Other | O PDF de origem ou a assinatura selecionada não pôde ser preparado, conforme reportado por GetPAdESSignatureTimeStampProcessResult |
Fluxo de trabalho
- Reserve espaço de contents da assinatura suficiente com
SetSignProcessReserveContentsBytesantes de criar a assinatura original - Criar um processo de carimbo de tempo e selecionar o campo de assinatura e o algoritmo de digest
- Chame
GetPAdESSignatureValueHashHexe envie esse message imprint à TSA - Passe o TimeStampToken retornado a este método
- Finalize com um método
EndPAdESSignatureTimeStampProcessTo*
A biblioteca valida e reescreve o CMS, mas não executa a requisição HTTP à TSA
Veja também
GetPAdESSignatureValueHashHex, SetPAdESSignatureTimeStampDigestAlgorithm, SetSignProcessReserveContentsBytes, TPDFlibSignatureVerifier