GetSignatureModificationVerdict
Digitale Signaturen
Beschreibung
Gibt an, ob die nach einer Signatur angehängten Aktualisierungen vom Zertifizierungsgrad des Dokuments zugelassen werden'.
Syntax
Delphi
Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;Parameter
| InputFile | Das signierte Dokument |
|---|---|
| Password | Das Kennwort zum Öffnen oder eine leere Zeichenfolge. |
| FieldName | Das zu beurteilende Signaturfeld. |
Rückgabewerte
| 1 | Nach der Signatur wurde nichts angefügt |
|---|---|
| 2 | Nur die durch die Zertifizierungsstufe zulässigen Änderungen wurden angehängt |
| 3 | Es wurde etwas angehängt, das auf dieser Ebene nicht zulässig ist |
| 4 | Die Antwort konnte nicht ermittelt werden |
| 5 | Die Signatur endet nicht an einer Revisionsgrenze; daher liegen Bytes innerhalb des Bereichs, den sie abzudecken beansprucht |
| 0 | Die Datei oder das Feld konnte nicht gelesen werden. |
Anmerkungen
ISO 32000-1 §12.8.2.2 weist einer Zertifizierungssignatur eine Berechtigungsstufe zu: 1 erlaubt keine spätere Änderung, 2 erlaubt zusätzlich das Ausfüllen von Formularfeldern und Signieren, 3 zusätzlich Anmerkungen. Validierungsmaterial und Dokumentzeitstempel sind auf jeder Stufe zulässig, sodass die Hochstufung einer Signatur auf Langzeitvalidierung niemals als Manipulation erscheint.
Ein Ergebnis von 4 ist keine Genehmigung. Es wird zurückgegeben, wenn die eigene Struktur einer Zertifizierung nicht geprüft werden konnte, eine Feldsperre vorhanden ist und die von späteren Aktualisierungen berührten Felder nicht nachverfolgt werden können, eine spätere Revision etwas Unlesbares enthält oder die Datei nach dem signierten Bereich Bytes besitzt, die keine erkennbare Revision bilden. In jedem dieser Fälle ist etwas Wesentliches unbekannt, und es als zulässig zu behandeln wäre die falsche Fehlentscheidung'.
GetSignatureModificationDetail nennt die Revision und die Art der Änderung hinter der Antwort, und GetSignatureEffectiveMDPLevel meldet die angewendete Stufe.
Beispiel
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;Siehe auch
GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind