GetSignatureModificationVerdict

Digitale signaturer

Beskrivelse

Angiver, om de opdateringer, der blev tilføjet efter en signatur, er blandt dem, som PDF'ens certificeringsniveau tillader

Syntaks

Delphi

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

Parametre

InputFileDet signerede dokument.
PasswordAdgangskoden til at åbne den eller en tom streng
FieldNameDet signaturfelt, der skal vurderes

Returværdier

1Intet blev tilføjet efter signaturen.
2Kun ændringerne af certificeringsniveauets tilladelser blev tilføjet.
3Noget, som niveauet ikke tillader, blev tilføjet.
4Svaret kunne ikke bestemmes.
5Signaturen slutter ikke ved en revisionsgrænse, så der ligger bytes inden for det område, den hævder at dække.
0Filen eller feltet kunne ikke læses.

Bemærkninger

ISO 32000-1 §12.8.2.2 giver en certificerende signatur et tilladelsesniveau: 1 tillader ingen senere ændringer, 2 tillader desuden udfyldning af formularfelter og signering, og 3 tillader desuden annotationer. Valideringsmateriale og dokumenttidsstempler er tilladt på alle niveauer, så opgradering af en signatur til langtidsvalidering aldrig fortolkes som manipulation

Resultatet 4 er ikke en godkendelse. Det returneres, når en certificering's egen struktur ikke kunne kontrolleres, når en feltlås er til stede, og det ikke kan spores, hvilke felter de senere opdateringer berørte, når en senere revision indeholder noget, der ikke kunne læses, eller når filen indeholder byte efter det signerede område, som ikke udgør en genkendelig revision. I alle disse tilfælde er noget væsentligt ukendt, og det ville være forkert at behandle det som tilladt.

GetSignatureModificationDetail angiver revisionen og ændringstypen bag svaret, og GetSignatureEffectiveMDPLevel rapporterer det anvendte niveau

Eksempel

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 også

GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind