THotPDF.SaveIncrementalUpdateAuthenticated Method
Autentica as políticas de revisões assinadas, rejeita alterações proibidas e publica atomicamente uma atualização incremental
Declarações
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
const Options: THPDFAuthenticatedIncrementalUpdateOptions;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
function SaveIncrementalUpdateAuthenticated(
const TargetFile: TFileName;
out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;
Workflow
- Escreve a revisão incremental pendente num candidato único na pasta de destino
- Carrega todas as políticas a partir da revisão exata protegida pelo byte range da respetiva assinatura
- Autentica cada assinatura CMS que traz uma política e, opcionalmente, valida o respetivo caminho de certificação
- Classifica todas as revisões posteriores e aplica as decisões de DocMDP, FieldMDP, UR ou UR3, Identity e transformações desconhecidas
- Publica o candidato aceite com uma substituição atómica com write-through
Uma rejeição elimina o candidato e deixa um destino existente byte a byte inalterado
Opções
| Member | Finalidade |
|---|---|
Authentication | ipaCryptographic exige uma assinatura CMS válida sobre o byte range, enquanto ipaTrustedCertificate exige adicionalmente cvsTrusted da validação do caminho de certificação e da revogação |
RequireSignaturePolicy | Rejeita documentos sem uma política de transformação autenticada quando é True, que é o valor por omissão |
CertificateValidation | Âncoras de confiança, intermédias, evidência de revogação offline, hora de validação, finalidade e política de algoritmos usadas no modo de certificado de confiança |
Result details
THPDFAuthenticatedIncrementalUpdateInfo reporta o estado final, o índice da assinatura que falhou, o estado da assinatura e do certificado, a contagem total de assinaturas, a contagem de políticas autenticadas e um problema de diagnóstico
Important statuses include aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation, and aiusCommitFailed
Utilização
var
Info: THPDFAuthenticatedIncrementalUpdateInfo;
begin
PDF.BeginIncrementalUpdate('certified.pdf');
PDF.SetLoadedFormFieldValueByName('CustomerName', 'Ada');
if not PDF.SaveIncrementalUpdateAuthenticated('updated.pdf', Info) then
raise Exception.Create(String(Info.Issue));
end;
Limite de segurança
- A structurally present policy never becomes authoritative until its signature authenticates successfully
- Os dicionários de política são lidos do snapshot assinado e ligados ao objeto de assinatura original, ao byte range e ao valor CMS, impedindo que uma revisão posterior redirecione ou substitua a sua própria autoridade
- O modo de certificado de confiança é adequado quando a identidade do signatário importa para além da integridade do documento
- O método normal
SaveIncrementalUpdatecontinua disponível para fluxos sem assinatura que não pedem a aplicação de políticas