GetSignatureModificationVerdict
디지털 서명
설명
서명 뒤에 추가된 업데이트가 문서' 인증 수준에서 허용하는 것인지 나타냅니다
구문
Delphi
Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;매개변수
| InputFile | 서명된 문서 |
|---|---|
| Password | 열기 위한 암호이며 필요 없으면 빈 문자열 |
| FieldName | 판정할 서명 필드 |
반환 값
| 1 | 서명 뒤에 아무것도 추가되지 않았습니다 |
|---|---|
| 2 | 인증 수준에서 허용하는 변경 사항만 추가되었습니다 |
| 3 | 해당 수준에서 허용하지 않는 항목이 추가되었습니다 |
| 4 | 답을 판단할 수 없습니다 |
| 5 | 서명이 리비전 경계에서 끝나지 않아 포함한다고 주장하는 범위 안에 바이트가 놓입니다 |
| 0 | 파일 또는 필드를 읽을 수 없습니다 |
비고
ISO 32000-1 §12.8.2.2는 인증 서명에 권한 수준을 부여합니다. 1은 이후 변경을 전혀 허용하지 않고 2는 양식 필드 채우기와 서명을, 3은 주석을 추가로 허용합니다. 검증 자료와 문서 타임스탬프는 모든 수준에서 허용되므로 장기 검증 승격은 변조로 간주되지 않습니다
결과 4는 승인을 의미하지 않습니다. 인증'의 자체 구조를 검증할 수 없거나, 필드 잠금이 존재하면서 후속 업데이트가 건드린 필드를 추적할 수 없거나, 후속 리비전에 읽을 수 없는 항목이 있거나, 파일의 서명 범위 뒤에 인식 가능한 리비전을 이루지 않는 바이트가 있을 때 반환됩니다. 각 경우 모두 중요한 사항을 알 수 없으므로 이를 허용된 것으로 간주하면 잘못된 판단이 됩니다
GetSignatureModificationDetail은 응답의 기반이 된 리비전과 변경 종류를 알려 주며 GetSignatureEffectiveMDPLevel은 적용된 수준을 보고합니다
예제
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;참고 항목
GetSignatureEffectiveMDPLevel, GetSignatureModificationDetail, GetSignatureRevisionIndex, GetDocumentRevisionKind