GetSignatureModificationVerdict
Digitální podpisy
Popis
Říká, zda aktualizace připojené za podpisem byly takové, jaké úroveň certifikace dokumentu dovoluje
Syntaxe
Delphi
Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;Parametry
| InputFile | The signed document. |
|---|---|
| Password | Heslo k jeho otevření, případně prázdný řetězec |
| FieldName | Podpisové pole, které se má vyhodnotit |
Návratové hodnoty
| 1 | Za podpis se nepřipojilo nic |
|---|---|
| 2 | Připojovaly se jen změny, které úroveň certifikace dovoluje |
| 3 | Připojilo se něco, co daná úroveň nedovoluje |
| 4 | Odpověď se nepodařilo určit |
| 5 | Podpis nekončí na hranici revize, takže bajty leží uvnitř rozsahu, který tvrdí, že pokrývá |
| 0 | Soubor nebo pole se nepodařilo přečíst |
Poznámky
ISO 32000-1 §12.8.2.2 dává certifikujícímu podpisu úroveň oprávnění: 1 nepovoluje vůbec žádnou pozdější změnu, 2 navíc povoluje vyplňování formulářových polí a podepisování, 3 navíc povoluje anotace. Validační materiál a časová razítka dokumentu jsou povolena na každé úrovni, takže povýšení podpisu na dlouhodobou validaci nikdy nevypadá jako manipulace
GetSignatureModificationDetail pojmenuje revizi a druh změny za odpovědí a GetSignatureEffectiveMDPLevel hlásí aplikovanou úroveň
Příklad
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;Viz také
GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind