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

InputFilePodpisany dokument
PasswordHasło do jego otwarcia albo pusty ciąg
FieldNamePole podpisu do oceny

Wartości zwracane

1Po podpisie niczego nie dołączono
2Dołączono tylko zmiany dozwolone przez poziom certyfikacji
3Dołączono element niedozwolony przez ten poziom
4Nie można ustalić odpowiedzi
5Podpis nie kończy się na granicy rewizji, dlatego w zakresie, który deklaruje jako objęty, znajdują się dodatkowe bajty
0Nie 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