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
- Escribe la revisión incremental pendiente en un candidato único dentro del directorio de destino
- Carga cada política desde la revisión exacta protegida por el rango de bytes de su firma
- Autentica cada firma CMS que porta política y opcionalmente valida su ruta de certificados
- Clasifica cada revisión posterior y aplica las decisiones DocMDP, FieldMDP, UR o UR3, Identity y de transform desconocido
- 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
| Miembro | Propósito |
|---|---|
Authentication | ipaCryptographic 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 |
RequireSignaturePolicy | Rechaza los documentos sin una política de transform autenticada cuando es True, que es el valor predeterminado |
CertificateValidation | Trust 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
- Una política estructuralmente presente nunca se vuelve autoritativa hasta que su firma se autentica con éxito
- Los diccionarios de política se leen desde el snapshot firmado y se vinculan al objeto de firma, rango de bytes y valor CMS originales, impidiendo que una revisión posterior redirija o reemplace su propia autoridad
- El modo de certificado confiable es apropiado cuando la identidad de quien firma importa además de la integridad del documento
- El método ordinario
SaveIncrementalUpdatesigue disponible para flujos de trabajo sin firma que no piden aplicación de políticas