GetSignatureModificationVerdict
Digitale handtekeningen
Beschrijving
Geeft aan of de na een handtekening toegevoegde updates soorten zijn die het certificatieniveau van het document toestaat
Syntaxis
Delphi
Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;Parameters
| InputFile | Het ondertekende document. |
|---|---|
| Password | Het wachtwoord om het te openen, of een lege string |
| FieldName | Het signature field dat moet worden beoordeeld |
Retourwaarden
| 1 | Er is niets achter de handtekening toegevoegd |
|---|---|
| 2 | Er zijn alleen wijzigingen toegevoegd die het certificatieniveau toestaat |
| 3 | Er is iets toegevoegd dat het niveau niet toestaat |
| 4 | Het antwoord kon niet worden vastgesteld |
| 5 | De handtekening eindigt niet op een revisiegrens, dus er zitten bytes binnen het bereik waarvan hij beweert die te dekken |
| 0 | Het bestand of het veld kon niet worden gelezen |
Opmerkingen
ISO 32000-1 §12.8.2.2 geeft een certificerende handtekening een toestemmingsniveau: 1 staat geen enkele latere wijziging toe, 2 staat daarnaast het invullen van formuliervelden en ondertekenen toe, 3 staat daarnaast annotaties toe. Validatiemateriaal en documenttijdstempels zijn op elk niveau toegestaan, dus het promoveren van een handtekening naar langetermijnvalidatie leest nooit als manipulatie
Een resultaat van 4 is geen goedkeuring. Hij wordt teruggegeven wanneer de eigen structuur van een certificering niet kon worden geverifieerd, wanneer er een veldlocking is en niet te achterhalen is welke velden de latere updates raakten, wanneer een latere revisie iets bevat dat niet kon worden gelezen, en wanneer het bestand bytes achter het ondertekende bereik draagt die geen herkenbare revisie vormen. In elk van die gevallen blijft iets wezenlijks onbekend, en het als toegestaan behandelen zou de verkeerde manier zijn om het mis te hebben
GetSignatureModificationDetail noemt de revisie en het soort wijziging achter het antwoord, en GetSignatureEffectiveMDPLevel rapporteert het toegepaste niveau
Voorbeeld
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;Zie ook
GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind