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
| InputFile | El documento firmado |
|---|---|
| Password | La contraseña para abrirlo o una cadena vacía |
| FieldName | El campo de firma que se debe evaluar |
Valores devueltos
| 1 | No se agregó nada después de la firma |
|---|---|
| 2 | Solo se anexaron los permisos de cambio del nivel de certificación |
| 3 | Se agregó algo que el nivel no permite |
| 4 | No se pudo determinar la respuesta |
| 5 | La firma no termina en un límite de revisión, por lo que hay bytes dentro del intervalo que afirma cubrir |
| 0 | No 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