GetSignatureModificationVerdict

Firmas digitales

Descripción

Indica si las actualizaciones agregadas después de una firma eran de las permitidas por el nivel de certificación del documento's

Sintaxis

Delphi

Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;

Parámetros

InputFileEl documento firmado
PasswordLa contraseña para abrirlo o una cadena vacía
FieldNameEl campo de firma que se debe evaluar

Valores devueltos

1No se agregó nada después de la firma
2Solo se anexaron los permisos de cambio del nivel de certificación
3Se agregó algo que el nivel no permite
4No se pudo determinar la respuesta
5La firma no termina en un límite de revisión, por lo que hay bytes dentro del intervalo que afirma cubrir
0No se pudo leer el archivo o el campo

Observaciones

ISO 32000-1 §12.8.2.2 otorga a una firma de certificación un nivel de permisos: 1 no permite ningún cambio posterior, 2 además permite llenar campos de formulario y firmar, 3 además permite anotaciones. El material de validación y las marcas de tiempo del documento se permiten en todos los niveles, por lo que promover una firma a validación a largo plazo nunca se interpreta como manipulación

Un resultado de 4 no es aprobación Se devuelve cuando no se pudo verificar la estructura propia de una certificación (certification's), cuando hay un bloqueo de campo y no se puede rastrear qué campos tocaron las actualizaciones posteriores, cuando una revisión posterior contiene algo que no se pudo leer y cuando el archivo contiene bytes después del intervalo firmado que no forman ninguna revisión reconocible. En cada uno de esos casos se desconoce algo importante, y tratarlo como permitido sería equivocarse de la forma incorrecta

GetSignatureModificationDetail nombra la revisión y el tipo de cambio tras la respuesta, y GetSignatureEffectiveMDPLevel informa el nivel aplicado

Ejemplo

case PDF.GetSignatureModificationVerdict('signed.pdf', '', 'Signature1') of
  1, 2: ShowMessage('the signature still covers the document');
  3:    ShowMessage('not allowed: '+ PDF.GetSignatureModificationDetail);
else
  ShowMessage('undetermined: '+ PDF.GetSignatureModificationDetail);
end;

Véase también

GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind