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
| InputFile | Document signé |
|---|---|
| Password | Mot de passe permettant de l’ouvrir, ou chaîne vide |
| FieldName | Champ de signature à évaluer |
Valeurs de retour
| 1 | Rien n’a été ajouté après la signature |
|---|---|
| 2 | Seules les modifications autorisées par le niveau de certification ont été ajoutées |
| 3 | Un élément non autorisé par le niveau a été ajouté |
| 4 | La réponse n’a pas pu être déterminée |
| 5 | La signature ne se termine pas à la limite d'une révision ; des octets se trouvent donc dans la plage qu'elle prétend couvrir |
| 0 | Le 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