Tutorials

Как сжать PDF без потери цифровой подписи

К Ahtisham ul haq Khan · Founder & Semantic SEO Engineer

· Обновлено · 9 минута чтения

Как сжать PDF без потери цифровой подписи
На этой странице

Сжатие PDF-файла с цифровой подписью делает подпись недействительной. При обычном сжатии это невозможно обойти, поскольку подпись проверяет точные байты файла. Измените любой байт, и подпись не пройдет проверку. В этом руководстве описаны четыре безопасных рабочих процесса сжатия подписанного PDF-файла: сжатие перед подписанием, использование инкрементального обновления, применение только оптимизации без потерь или повторное подписание после сжатия. Это применимо к Adobe Acrobat, DocuSign, EchoSign, Aadhaar eSign и любой платформе подписи на основе сертификатов. Он работает на Windows, Mac и Linux, а концепции применимы к iPhone и Android. Читайте дальше, чтобы узнать точный рабочий процесс для каждой платформы, когда каждый вариант подходит, а также одиннадцать прямых ответов на вопросы, которые чаще всего возникают в рабочих процессах сигнатур.

Почему сжатие нарушает цифровые подписи

Цифровая подпись — это криптографический хеш содержимого файла. Когда вы подписываете PDF-файл, закрытый ключ подписывающего лица шифрует хэш файла. Открытый ключ может расшифровать этот хэш позже. Если кто-то изменит хотя бы один байт, хэш перестанет совпадать, и при следующей проверке подпись станет «недействительной».

Сжатие изменяет байты по определению. Он перекодирует изображения, поднаборы шрифтов и переупорядочивает внутренние объекты PDF. В результате получается файл меньшего размера, который больше не соответствует исходному хешу. Это не ошибка; именно так должны работать подписи. Любое изменение подписанного документа должно сделать подпись недействительной. В противном случае любой желающий мог редактировать контракты после подписания.

Лучший рабочий процесс меняет порядок шагов. Подготовьте PDF в полном качестве. Сожмите его до нужного размера, используя команду Домашняя страница PDF-сжатия или Целевая страница размером 500 КБ. Затем примените цифровую подпись к сжатому файлу. Подпись подписывает небольшой файл. Он остается действительным навсегда без какого-либо сжатия после подписания.

Это работает, потому что подписание происходит последним. Независимо от размера файла, который вы подписываете, именно этот файл защищает подпись. Все изменения размера делайте перед шагом подписи.

Рабочий процесс 2: постепенное обновление в Adobe Acrobat

Adobe Acrobat поддерживает дополнительные обновления, которые добавляют подписи без перезаписи файла. Исходные подписанные байты остаются нетронутыми; новые страницы или комментарии добавляются в конец. Это означает, что вы можете добавлять аннотации в подписанный PDF-файл, не нарушая исходную подпись.

Однако сжатие не является инкрементным обновлением. Он перезаписывает файл. Даже собственная команда Acrobat «Уменьшить размер файла» делает существующие подписи недействительными. Обходной путь — добавить вторую подпись после сжатия, показывающую, что файл был сжат и повторно подписан. Исходная подпись помечена на панели как недействительная, но новая подпись действительна.

Рабочий процесс 3: только оптимизация без потерь

Не всякая оптимизация PDF нарушает подписи. Определенные операции без потерь (удаление неиспользуемых объектов, сжатие несжатых потоков, очистка ненужных метаданных) могут сжимать файл без изменения подписанного потока контента. В PDF Optimizer Acrobat есть режим под названием «Очистка», который делает именно это. На практике оптимизация только без потерь сжимает файлы на 5–20 процентов, а не на 70–90 процентов, как при полном сжатии.

Если размер подписанного PDF-файла составляет 2 МБ, а для загрузки необходимо достичь 1,6 МБ, оптимизации без потерь может быть достаточно. Если он должен достичь 500 КБ или 100 КБ, вам потребуется полный рабочий процесс повторного подписания.

Рабочий процесс 4: повторная подпись после сжатия

Повторное подписание означает признание недействительной исходной подписи и применение новой. Рабочий процесс: откройте подписанный PDF-файл, удалите существующую подпись (Acrobat запрашивает подтверждение), сожмите неподписанный файл, затем снова подпишите его своим ключом.

Это справедливо для внутренних документов, подписывающим лицом которых являетесь вы. Это недопустимо для документов, подписанных другой стороной, поскольку вы не можете подписаться от ее имени. Если клиент подписал контракт и отправил его вам, вы не сможете сжать и расторгнуть этот контракт без него.

Какой тип подписи у вас имеет значение

Три типа сигнатур по-разному ведут себя при сжатии, и знание того, какой тип у вас есть, определяет рабочий процесс.

  • Цифровая подпись на основе сертификата: нарушено любым изменением байта. Требуются описанные выше рабочие процессы. Используется Adobe Sign с персональным сертификатом, государственными системами eSign (Aadhaar eSign в Индии, DigiD в Нидерландах) и корпоративными настройками PKI.
  • Электронная подпись (изображение подписи): не является криптографически связанным. Сжатие перекодирует изображение с более низким качеством, но подпись «работает» так же (визуально), поскольку изначально она никогда не проверялась криптографически. Распространен на более дешевых уровнях DocuSign и бесплатном HelloSign.
  • Рукописный скан подписанной страницы: так же, как и любое отсканированное изображение. Сжатие в порядке; подпись - это просто пиксели.

Рабочие процессы в этом руководстве относятся к первому типу. Типы два и три сжимаются, как и любой другой PDF-файл, без специальной обработки.

Как проверить, имеет ли PDF-файл настоящую цифровую подпись

Откройте PDF-файл в Adobe Reader (бесплатно). Посмотрите на верхнюю часть окна. Если есть синий баннер с надписью «Подписано, и все подписи действительны» или «По крайней мере одна подпись имеет проблемы», это подпись на основе сертификата. Если баннера нет, подпись, скорее всего, представляет собой просто изображение внутри PDF-файла.

В левой части Reader на панели подписей указана каждая подпись с указанием того, когда она была применена и кто ее подписал. В подписях сертификатов отображается значок сертификата. В подписях изображений отображаются только пиксели.

Целевые значения сжатия для подписанных PDF-файлов

Когда вы сможете управлять последовательностью (сжать, затем подписать), выберите цель, которая оставляет запас. Сжатый файл размером 400 КБ, подписанный сертификатом размером 4 КБ, создает подписанный файл размером 404 КБ. Стремитесь к тому, чтобы целевой уровень сжатия составлял около 90 процентов от предела портала, чтобы подпись не мешала вам.

Общие порталы принимают следующие размеры подписанных документов:

  • Загрузка цифровой подписи правительства Великобритании: Цель 1 МБ оставляет много места.
  • Индийский паспорт Сева с подписанными документами: 100 КБ — жесткий предел; стремитесь к предварительной подписи размером 90 КБ.
  • Электронные нотариальные документы в США: обычно 2 МБ; Предварительная подпись размером 1,5 МБ безопасна.

Что делать, если портал настаивает на подписанном файле, который слишком велик

Иногда рабочий процесс фиксирует получатель: вам прислали подписанный PDF-файл, вам нужно загрузить его куда-нибудь с ограничением по размеру, и повторно подписать невозможно. Остаются два пути.

  • Попросите отправителя перевыпустить сжатую копию: самое чистое исправление. Подписывающая сторона сжимает свою сторону и подписывает повторно; вы загружаете подписанную копию меньшего размера.
  • Используйте только оптимизацию без потерь: не достигнет узких целей, но может сэкономить от 10 до 20 процентов. Достаточно для ящиков, размер которых ограничен 5 МБ, когда размер вашего файла составляет 5,5 МБ.

Для неподписанных документов, размер которых должен быть небольшим, гораздо проще использовать инструмент браузера с заранее заданной целью; см. родственную часть на как сжать PDF до 500 КБ для рабочего процесса, когда подписи не используются.

Часто задаваемые вопросы

Могу ли я сжать подписанный PDF-файл, не нарушая подпись?

Только оптимизация без потерь сохраняет подписи, и обычно он сжимает файл максимум на 5–20 процентов. Полное сжатие до 100 КБ или 500 КБ нарушает любую подпись на основе сертификата.

Что такое цифровая подпись и электронная подпись?

Цифровые подписи основаны на сертификатах и ​​криптографически связаны. в байты файла. Электронные подписи обычно представляют собой изображение подписи, размещенное на странице без сертификата. Цифровые подписи ломаются при любом изменении; электронные подписи - нет.

Какие платформы используют подписи на основе сертификатов?

Adobe Sign с личными сертификатами, DocuSign на более высоких уровнях, Aadhaar eSign в Индии, DigiD в Нидерландах и большинство корпоративных установок PKI. Все правительственные порталы, требующие цифровой подписи в налоговых и юридических документах, основаны на сертификатах.

Могу ли я сжать PDF-файл, а затем подписать его?

Да. Это рекомендуемый рабочий процесс. Сначала сожмите, затем подпишите. Подпись подписывает небольшой файл, и он остается действительным.

Нарушает ли добавление подписи изображения после сжатия сжатие?

Нет. Подписи изображений не проверяют байты файла. Вы можете добавить подпись изображения после сжатия, и сжатие и подпись останутся в порядке.

Оставьте несжатым, если подписано. Целостность юридического контракта имеет большее значение, чем его размер. Если файл должен быть меньше, обратитесь к контрагенту, чтобы повторно подписать сжатую версию.

Могу ли я удалить цифровую подпись из PDF-файла?

Да, если у вас есть доступ для записи. Adobe Acrobat Pro удаляет подписи через панель подписей. Ридер (бесплатный) не может. После удаления ссылка на подпись остается в журнале аудита, но криптографическая привязка исчезает.

Действительно ли оптимизация без потерь стоит затраченных усилий?

Только если файл превышает бюджет на 10–20 процентов. Для чего-то более агрессивного без потерь не поможет. Используйте его, когда вам нужно небольшое уменьшение размера, не трогая подпись.

Что меньше: подписанный PDF-файл или тот же PDF-файл без подписи?

The подписанный PDF-файл немного больше поскольку подпись добавляет от 2 до 8 КБ данных сертификата. Вот почему сжатие перед подписанием обычно дает более чистые результаты, чем сжатие после.

Сохраняет ли собственное сжатие Adobe Sign свои подписи?

Нет. Adobe Sign не обеспечивает сжатие после подписания именно потому, что это может привести к нарушению подписей. Сжатие в стеке Adobe происходит во время загрузки, перед подписанием.

Где я могу прочитать о человеке, который поддерживает эти руководства?

The о странице представляет сайт и Ахтишама уль Хак Хана, который пишет и рецензирует технические руководства.

Можно ли проверить сжатый и повторно подписанный PDF-файл в суде?

Да, если переподписание будет задокументировано. Суды принимают повторно подписанные сжатые копии при условии, что контрольный журнал показывает, кто сжимал файл, когда это произошло, и что первоначальный подписавший санкционировал внесение изменений. Сохраните оба файла: исходную подписанную версию и сжатую переподписанную версию с четким соглашением об именах, чтобы последовательность была очевидна.

Самый безопасный рабочий процесс почти всегда — сначала сжать, а затем подписать. При проектировании любого конвейера документов, включающего подписи, учитывайте этот порядок.

Подписи с отметкой времени и долгосрочная проверка

Цифровая подпись с отметкой времени включает в себя подпись доверенного органа с отметкой времени поверх подписи подписывающего лица. Это называется LTV (долгосрочная проверка) и позволяет проверять подпись даже спустя годы после истечения срока действия сертификата подписавшего. Сжатие нарушает временные метки LTV так же, как и обычные сертификаты.

Для документов LTV правило сжатия перед подписанием имеет еще большее значение. Юридический контракт, для которого требуется LTV, должен быть сформирован и определен до этапа подписания. После применения LTV файл становится доступным только для чтения в юридических целях; даже удаление пробелов для сохранения 100 байт делает цепочку подписи недействительной.

Обработка PDF-файлов, подписанных несколькими подписями

Контракты с несколькими подписантами представляют собой особую проблему. Каждый подписывающий добавляет свою подпись в накопленный файл. Подписавшаяся сторона А подписывает пустой контракт; подписывающее лицо Б подписывает версию подписью А; подписывающее лицо C подписывает версию обоими. Сжатие в любой точке разрывает каждую последующую подпись в цепочке.

Практический рабочий процесс для документов с несколькими подписями:

  • Сожмите пустой контракт до целевого размера, прежде чем кто-либо его подпишет.
  • Подписывающая сторона А подписывает сжатый файл. Не сжимайте снова.
  • Подписывающая сторона B подписывает файл, возвращенный A. Сжатия по-прежнему нет.
  • Подписывающая сторона C подписывает файл, возвращенный B. Окончательный файл остается в сжатом размере плюс около 4 КБ на подпись.

Итоговый файл имеет примерно такой же размер, как и сжатый, плюс от 12 до 20 КБ для трех подписей. Запланируйте первоначальную цель сжатия с учетом этих накладных расходов.

Все ли платформы цифровой подписи одинаково реагируют на сжатие?

Нет. Платформы на основе сертификатов (Adobe Sign с персональным сертификатом, государственные системы eSign) отвергают любое сжатие после подписания. Платформы на основе изображений (DocuSign на бесплатном уровне, HelloSign начального уровня) не проверяют байты и рассматривают сжатие как любое редактирование файла.

Могу ли я сжать PDF-файл, подписанный Aadhaar?

Только до применения Aadhaar eSign. После того как Aadhaar eSign подписал документ, сжатие делает подпись недействительной и требует повторной подписи в процессе eSign, который включает в себя новую проверку OTP.

Что более удобно для сжатия: Adobe Sign или DocuSign?

Оба одинаково строги при использовании подписей на основе сертификатов. Выбор зависит от вашего рабочего процесса, а не от совместимости сжатия.

Могу ли я добавить аннотации к подписанному PDF-файлу и сжать его?

Аннотации выдерживают дополнительные обновления, но полное сжатие нарушает исходную подпись. Сначала добавьте аннотации в качестве дополнительного обновления, если подписывающая сторона позволяет, а затем оставьте файл несжатым, чтобы сохранить контрольный журнал.

Какие платформы подписи помечают сжатые файлы как подделанные?

Каждая платформа на основе сертификатов, включая Adobe Sign, Aadhaar eSign, DigiD, GlobalSign и корпоративные настройки PKI. Предупреждение о несанкционированном доступе появляется в тот момент, когда любой нижестоящий верификатор открывает файл. Платформы подписи на основе изображений ничего не помечают, поскольку не проверяют байты.

Проверяет ли сжатый неподписанный PDF-файл подписи, если я подпишу его позже?

Да. Подпись подписывает текущие байты файла. Пока файл не изменяется после подписания, подпись остается действительной неопределенное время (или до истечения срока действия сертификата).

Похожие статьи

Как сжать PDF до 300 КБ
Tutorials

Как сжать PDF до 300 КБ

300 КБ — это золотая середина для визовых боксов Великобритании и порталов стипендий. Самый быстрый метод, когда 300 КБ лучше 200 или 500 КБ, а также 12 часто задаваемых вопросов.