GetSignatureModificationVerdict
Цифровые подписи
Описание
Сообщает, были ли дописки после подписи из числа разрешённых уровнем сертификации документа
Синтаксис
Delphi
Function TPDFlib.GetSignatureModificationVerdict(Const InputFile, Password, FieldName: WideString): Integer;Параметры
| InputFile | The signed document. |
|---|---|
| Password | Пароль для открытия документа или пустая строка |
| FieldName | Оцениваемое поле подписи |
Возвращаемые значения
| 1 | После подписи ничего не дописано |
|---|---|
| 2 | Дописаны только изменения, которые разрешает уровень сертификации |
| 3 | Дописано то, что уровень не разрешает |
| 4 | Ответ определить не удалось |
| 5 | Подпись не заканчивается на границе ревизии — байты лежат внутри заявленного ею диапазона |
| 0 | Файл или поле не удалось прочитать |
Примечания
ISO 32000-1 §12.8.2.2 дает сертифицирующей подписи уровень прав: 1 не разрешает никаких последующих изменений, 2 дополнительно разрешает заполнение полей форм и подписание, 3 также разрешает аннотации. Материал валидации и метки времени документа разрешены на каждом уровне, поэтому перевод подписи на долгосрочную валидацию никогда не выглядит как порча
A result of 4 is not approval. It is returned when a certification's own structure could not be verified, when a field lock is present and which fields the later updates touched cannot be traced, when a later revision holds something that could not be read, and when the file carries bytes past the signed range that form no recognisable revision. In each of those cases something material is unknown, and treating it as permitted would be the wrong way to be wrong.
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