THotPDF.SaveIncrementalUpdateAuthenticated Method

Autentica políticas de revisão 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;

Fluxo de trabalho

  1. Grava a revisão incremental pendente em um candidato exclusivo no diretório de destino
  2. Carrega cada política da revisão exata protegida por sua faixa de bytes de assinatura
  3. Autentica cada assinatura CMS com política e opcionalmente valida seu caminho de certificado
  4. Classifica cada revisão posterior e aplica as decisões DocMDP, FieldMDP, UR ou UR3, Identity e transformação desconhecida
  5. Publica o candidato aceito com uma substituição atômica com gravação direta

Uma rejeição exclui o candidato e deixa um destino existente inalterado byte a byte

Opções

MembroFinalidade
AuthenticationipaCryptographic exige uma assinatura CMS válida de faixa de bytes, enquanto ipaTrustedCertificate exige adicionalmente cvsTrusted da validação de caminho de certificado e revogação
RequireSignaturePolicyRejeita documentos sem uma política de transformação autenticada quando True, que é o padrão
CertificateValidationÂncoras de confiança, intermediários, evidência de revogação offline, tempo de validação, finalidade e política de algoritmo usados pelo modo de certificado confiável

Detalhes do resultado

THPDFAuthenticatedIncrementalUpdateInfo relata o status final, o índice da assinatura com falha, o status da assinatura e do certificado, a contagem total de assinaturas, a contagem de políticas autenticadas e um problema de diagnóstico

Status importantes incluem aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation e aiusCommitFailed

Uso

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