Método THotPDF.SaveIncrementalUpdateAuthenticated

Autentica políticas de revisión firmadas, rechaza cambios prohibidos y publica atómicamente una actualización incremental

Declaraciones

function SaveIncrementalUpdateAuthenticated(
  const TargetFile: TFileName;
  const Options: THPDFAuthenticatedIncrementalUpdateOptions;
  out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;

function SaveIncrementalUpdateAuthenticated(
  const TargetFile: TFileName;
  out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;

Flujo de trabajo

  1. Escribe la revisión incremental pendiente en un candidato único dentro del directorio de destino
  2. Carga cada política desde la revisión exacta protegida por el rango de bytes de su firma
  3. Autentica cada firma CMS que porta política y opcionalmente valida su ruta de certificados
  4. Clasifica cada revisión posterior y aplica las decisiones DocMDP, FieldMDP, UR o UR3, Identity y de transform desconocido
  5. Publica el candidato aceptado con un reemplazo atómico write-through

Un rechazo elimina el candidato y deja un destino existente intacto byte a byte

Opciones

MiembroPropósito
AuthenticationipaCryptographic requiere una firma CMS válida del rango de bytes, mientras que ipaTrustedCertificate además requiere cvsTrusted de la validación de ruta de certificados y revocación
RequireSignaturePolicyRechaza los documentos sin una política de transform autenticada cuando es True, que es el valor predeterminado
CertificateValidationTrust anchors, intermedios, evidencia de revocación offline, tiempo de validación, propósito y política de algoritmos usados por el modo de certificado confiable

Detalles del resultado

THPDFAuthenticatedIncrementalUpdateInfo reporta el estado final, el índice de la firma fallida, el estado de firma y certificado, el conteo total de firmas, el conteo de políticas autenticadas y un issue de diagnóstico

Los estados importantes incluyen aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation y 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;

Límite de seguridad

APIs relacionadas