GetSignatureModificationVerdict

Signatures numériques

Description

Indique si les mises à jour ajoutées après une signature étaient de celles qu'autorise le niveau de certification du document

Syntaxe

Delphi

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

Paramètres

InputFileDocument signé
PasswordMot de passe permettant de l’ouvrir, ou chaîne vide
FieldNameChamp de signature à évaluer

Valeurs de retour

1Rien n’a été ajouté après la signature
2Seules les modifications autorisées par le niveau de certification ont été ajoutées
3Un élément non autorisé par le niveau a été ajouté
4La réponse n’a pas pu être déterminée
5La signature ne se termine pas à la limite d'une révision ; des octets se trouvent donc dans la plage qu'elle prétend couvrir
0Le fichier ou le champ n’a pas pu être lu

Remarques

ISO 32000-1 §12.8.2.2 attribue un niveau d’autorisation à une signature de certification : 1 interdit toute modification, 2 autorise aussi le remplissage et la signature, 3 autorise aussi les annotations. Le matériel de validation et les horodatages sont permis à tous les niveaux ; promouvoir une signature en validation longue durée n’apparaît donc jamais comme une altération

Un résultat de 4 n’est pas une approbation. Il est renvoyé si l'organisation propre d’une certification ne peut être vérifiée, si un verrou de champ empêche de suivre les champs modifiés, si une révision ultérieure est illisible ou si des octets après la plage signée ne forment aucune révision reconnaissable. Dans chaque cas, une information essentielle est inconnue

GetSignatureModificationDetail désigne la révision et le type de modification à l’origine de la réponse, tandis que GetSignatureEffectiveMDPLevel indique le niveau appliqué

Exemple

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;

Voir aussi

GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind