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

InputFileDas signierte Dokument
PasswordDas Kennwort zum Öffnen oder eine leere Zeichenfolge.
FieldNameDas zu beurteilende Signaturfeld.

Rückgabewerte

1Nach der Signatur wurde nichts angefügt
2Nur die durch die Zertifizierungsstufe zulässigen Änderungen wurden angehängt
3Es wurde etwas angehängt, das auf dieser Ebene nicht zulässig ist
4Die Antwort konnte nicht ermittelt werden
5Die Signatur endet nicht an einer Revisionsgrenze; daher liegen Bytes innerhalb des Bereichs, den sie abzudecken beansprucht
0Die 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