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

  1. Escreve a revisão incremental pendente num candidato único na pasta de destino
  2. Carrega todas as políticas a partir da revisão exata protegida pelo byte range da respetiva assinatura
  3. Autentica cada assinatura CMS que traz uma política e, opcionalmente, valida o respetivo caminho de certificação
  4. Classifica todas as revisões posteriores e aplica as decisões de DocMDP, FieldMDP, UR ou UR3, Identity e transformações desconhecidas
  5. 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

MemberFinalidade
AuthenticationipaCryptographic 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
RequireSignaturePolicyRejeita 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

APIs relacionadas