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

InputFileHet ondertekende document.
PasswordHet wachtwoord om het te openen, of een lege string
FieldNameHet signature field dat moet worden beoordeeld

Retourwaarden

1Er is niets achter de handtekening toegevoegd
2Er zijn alleen wijzigingen toegevoegd die het certificatieniveau toestaat
3Er is iets toegevoegd dat het niveau niet toestaat
4Het antwoord kon niet worden vastgesteld
5De handtekening eindigt niet op een revisiegrens, dus er zitten bytes binnen het bereik waarvan hij beweert die te dekken
0Het 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