GetSignatureModificationVerdict

Digitala signaturer

Beskrivning

Talar om huruvida de uppdateringar som lagts till efter en signatur är sådana som dokumentets certifieringsnivå tillåter

Syntax

Delphi

Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;

Parametrar

InputFileDet signerade dokumentet
PasswordLösenordet som öppnar det, eller en tom sträng
FieldNameSignaturfältet som ska bedömas

Returvärden

1Ingenting lades till efter signaturen
2Bara ändringar som certifieringsnivån tillåter lades till
3Något som nivån inte tillåter lades till
4Svaret kunde inte bestämmas
5Signaturen slutar inte vid en revisionsgräns, så byte ligger inom det område den påstår sig täcka
0Filen eller fältet kunde inte läsas

Anmärkningar

ISO 32000-1 §12.8.2.2 ger en certifierande signatur en behörighetsnivå: 1 tillåter ingen senare ändring alls, 2 tillåter dessutom ifyllning av formulärfält och signering, 3 tillåter dessutom anteckningar. Valideringsmaterial och dokumenttidsstämplar är tillåtna på alla nivåer, så att höja en signatur till långtidsvalidering kan aldrig tolkas som manipulation

Resultatet 4 är inte ett godkännande Det returneras när en certifierings egen struktur inte kunde verifieras, när ett fältlås finns och vilka fält de senare uppdateringarna rörde inte går att spåra, när en senare revision innehåller något som inte kunde läsas, och när filen bär byte efter det signerade intervallet som inte bildar någon igenkännbar revision. I vart och ett av de fallen är något väsentligt okänt, och att ändå behandla det som tillåtet är fel sätt att ha fel

GetSignatureModificationDetail anger revisionen och den typ av ändring som ligger bakom svaret, och GetSignatureEffectiveMDPLevel redogör för den tillämpade nivån

Exempel

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;

Se även

GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind