Цифровая подпись в PDF не проверяется на соответствие после добавления аннотаций - PullRequest
0 голосов
/ 30 апреля 2018

Я просматривал официальную спецификацию PDF . Я наткнулся на цифровую подпись PDF здесь . Когда я анализировал его каталог словарь, я увидел это:

enter image description here

Цифровая подпись имеет форму поля подписи, которое указывает диапазон байтов содержимого, к которому применяется подпись. Любой контент, добавляемый поверх него, например, аннотации, заметки и т. Д., Должен входить в качестве инкрементных обновлений, поэтому действительность исходного контента должна оставаться в силе (исключая прямое редактирование контента, например, изменение Sample *). 1013 * слово в образец2 ). Однако, когда я открываю файл в Nitro, добавляю к нему некоторые выделения или заметки, сохраняю их и открываю в Acrobat, теперь он говорит, что подпись недействительна. Что подводит меня к моим вопросам:

  1. Почему Acrobat показывает его как недействительный? Поле подписи не требует предотвращения добавления добавочных обновлений, почему оно является недействительным?

  2. Почему Acrobat не позволяет добавлять заметки или выделения? Нитро это позволяет, например. Нет словаря Perms , в котором было бы указано ограничение уровня DocMDP , так что же именно Adobe интерпретирует как блокировку уровня документа?

1 Ответ

0 голосов
/ 01 мая 2018

Как уже объяснено в моем ответе на ваш предыдущий вопрос по этой теме, файл, который вы называете "официальная спецификация PDF " это все, кроме. Официальная спецификация PDF - ISO 32000-1 (с 2008 года) и ISO 32000-2 (обновление 2017 года).

Этот ответ также указывает на происхождение записи P в словаре преобразования FieldMDP , который показывает ваш снимок экрана:

Он взят из словаря Lock того же словаря сигнатур и определен в приложении Adobe к ISO 32000, уровень расширения 3 (который, к сожалению, от Adobe действительно ссылается на PDF Ссылка 1.7 вместо ISO 32000-1):

P номер * (Необязательно; Уровень расширения 3) Права доступа, предоставленные для этого документа. Допустимые значения:

1, изменения в документе не допускаются; любое изменение в документе делает подпись недействительной.

Это расширение к ISO 32000-1 было добавлено к стандарту ISO 32000-2.

Таким образом,

  1. Почему Acrobat показывает его как недействительный? Поле подписи не требует предотвращения добавления добавочных обновлений, почему оно является недействительным?

Поскольку обеспечивает предотвращение любых изменений, см. Выше.

  1. Почему Acrobat не позволяет добавлять заметки или выделения? Нитро это позволяет, например. Не существует словаря Perms, который бы определял ограничение уровня DocMDP, так что же именно Adobe интерпретирует как блокировку уровня документа?

Поскольку Nitro (по крайней мере, версия, которую вы тестировали), вероятно, просто поддерживает ISO 32000-1, но не расширение Adobe 3, не говоря уже о ISO 32000-2.

...