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
| InputFile | Det signerade dokumentet |
|---|---|
| Password | Lösenordet som öppnar det, eller en tom sträng |
| FieldName | Signaturfältet som ska bedömas |
Returvärden
| 1 | Ingenting lades till efter signaturen |
|---|---|
| 2 | Bara ändringar som certifieringsnivån tillåter lades till |
| 3 | Något som nivån inte tillåter lades till |
| 4 | Svaret kunde inte bestämmas |
| 5 | Signaturen slutar inte vid en revisionsgräns, så byte ligger inom det område den påstår sig täcka |
| 0 | Filen 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