GetSignatureModificationVerdict
Podpisy cyfrowe
Opis
Informuje, czy aktualizacje dołączone po podpisie są dozwolone przez poziom certyfikacji dokumentu's
Składnia
Delphi
Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;Parametry
| InputFile | Podpisany dokument |
|---|---|
| Password | Hasło do jego otwarcia albo pusty ciąg |
| FieldName | Pole podpisu do oceny |
Wartości zwracane
| 1 | Po podpisie niczego nie dołączono |
|---|---|
| 2 | Dołączono tylko zmiany dozwolone przez poziom certyfikacji |
| 3 | Dołączono element niedozwolony przez ten poziom |
| 4 | Nie można ustalić odpowiedzi |
| 5 | Podpis nie kończy się na granicy rewizji, dlatego w zakresie, który deklaruje jako objęty, znajdują się dodatkowe bajty |
| 0 | Nie można odczytać pliku lub pola |
Uwagi
ISO 32000-1 §12.8.2.2 nadaje podpisowi certyfikującemu poziom uprawnień: 1 nie zezwala na żadne późniejsze zmiany, 2 dodatkowo zezwala na wypełnianie pól formularza i podpisywanie, a 3 dodatkowo zezwala na adnotacje. Materiał weryfikacyjny i znaczniki czasu dokumentu są dozwolone na każdym poziomie, dlatego rozszerzenie podpisu o długoterminową weryfikację nigdy nie jest odczytywane jako manipulacja
Wynik 4 nie oznacza zatwierdzenia. Jest zwracany, gdy nie można zweryfikować struktury samej certyfikacji's, gdy istnieje blokada pola i nie można prześledzić, których pól dotyczyły późniejsze aktualizacje, gdy późniejsza rewizja zawiera element niemożliwy do odczytania oraz gdy plik zawiera bajty po podpisanym zakresie, które nie tworzą rozpoznawalnej rewizji. W każdym z tych przypadków istotne informacje pozostają nieznane, a uznanie zmiany za dozwoloną byłoby błędne
GetSignatureModificationDetail wskazuje rewizję i rodzaj zmiany stojące za odpowiedzią, a GetSignatureEffectiveMDPLevel raportuje zastosowany poziom
Przykład
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;Zobacz również
GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind