Сургуч

Материал из ALT Linux Wiki

О приложении

«Сургуч» — это приложение для проверки и подписи PDF-документов.

«Сургуч» предоставляет следующие возможности для работы с документами PDF:

  • открывать PDF и отображать содержимое, увеличивать и уменьшать содержимое, поворачивать отображение страниц;
  • отображать электронные подписи, содержащиеся в документе;
  • проверять корректность и свойства подписи в форматах Cades-BES/T/XLT1, PKSC7;
  • проверять цепочку сертификатов и выводить информацию о сертификатах;
  • запрашивать OCSP сервер на предмет отзыва сертификатов, использованных в цепочках сертификатов;
  • встраивать электронные подписи (в форматах Cades-BES/T/XLT1) в PDF и сохранять новый PDF;
  • создавать и встраивать штамп электронной подписи, согласно 63ФЗ в PDF документ;
  • сохранять настройки для подписи как профили подписи;
  • печать документа.

Сургуч. Подписанный PDF-документ

Установка

Установка ПО Сургуч

Установить пакеты surguch и newt52:

# apt-get install surguch newt52

Для работы может потребоваться установить пакет chromium-gost:

# apt-get install chromium-gost

Установка КриптоПро CSP

Внимание! Чтобы просматривать информацию о подписи подписанных документов и подписывать документы, на рабочем месте должен быть установлен криптопровайдер КриптоПро CSP.


Скачать и установить КриптоПро CSP 5.0 (нужно выбрать архив «для Linux (x64, rpm)») и КриптоПро ЭЦП Browser plug-in:

$ tar -xf linux-amd64.tgz

# apt-get install -y cryptopro-preinstall
# cd /home/user/linux-amd64
# apt-get install -y ./lsb-cprocsp-base* ./lsb-cprocsp-rdr-64* ./lsb-cprocsp-kc1* ./lsb-cprocsp-capilite* ./lsb-cprocsp-pkcs11* ./cprocsp-rdr-gui-gtk* ./cprocsp-cptools-gtk* ./cprocsp-pki-{cades,plugin}-64*
Примечание: Проверить работоспособность КриптоПро CSP можно по ссылкам https://cryptopro.ru/sites/default/files/products/cades/demopage/main.html. Подробнее об установке и работе с КриптоПро CSP см. КриптоПро.


Для корректной проверки подписи должны быть установлены корневой и промежуточные сертификаты подписанта документа.

Примечание: Информацию по установке промежуточных и корневых сертификатов можно получить на стр.https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/407/0/oshibk-ne-udetsja-postroit-cepochku-sertifiktov-dlja-doverennogo-kornevogo-centr-0x800b010a.


Для возможности подписи документов необходимо импортировать сертификаты. Сертификаты должны находиться в хранилище umy. Проверить наличие сертификатов в хранилище umy можно, выполнив команду:

$ certmgr -list -store umy

Запуск

Запустить программу можно:

  • из меню рабочей среды:
    • MATE Меню запуска приложений ▷ Стандартные ▷ Сургуч;
    • EDU Меню запуска приложений ▷ Стандартные ▷ Приложение для проверки и подписи PDF;
    • KDE Меню запуска приложений ▷ Инструменты ▷ Сургуч;
  • из контекстного меню PDF-файла Открыть с помощью ▷ Сургуч:
    Запуск приложения из контекстного меню файла
  • из командной строки:
$ surguch [файл]

Интерфейс приложения

Интерфейс приложения Сургуч

На панели управления (1) доступны следующие кнопки:

  • «Открыть» — позволяет выбрать документ, который нужно открыть. Если в приложении был открыт другой файл, он будет закрыт;
  • «Показать в папке» — открывает каталог, в котором находится текущий открытый документ;
  • «Сохранить как» — позволяет сохранить документ с указанием имени;
  • «Печать» — печать текущего отображаемого документа;
  • «Редактировать профиль» — при нажатии на эту кнопку, на правой боковой панели будут отображаться настройки текущего профиля (если профиль не выбран, откроется форма создания профиля);
  • «Список профилей» — в данном списке можно выбрать профиль для подписи. При выборе профиля на правой боковой панели будут отображаться его настройки;
  • «Подписать» — позволяет создать штамп (подписать документ). Для подписи будет выбран текущий профиль. Если профиль не выбран, откроется список для выбора профиля.

Сургуч. Панель инструментов для работы с PDF-документом

На панели инструментов для работы с PDF-документом (2) доступны следующие кнопки:

  • «Отображать миниатюры в боковой панели»;
  • «Отображать подписи в боковой панели» (доступно, если документ имеет подписи);
  • «Перейти к следующей странице»;
  • «Перейти к предыдущей странице»;
  • «Перейти на конкретную страницу с номером» — позволяет ввести номер страницы, к которой необходимо перейти;
  • «Номер текущей страницы и общее количество страниц в документе»;
  • «Изменить ориентацию страниц документа против часовой стрелки»;
  • «Изменить ориентацию страниц документа по часовой стрелке»;
Примечание: Поворот применяется к ориентации всех страниц.
  • «Уменьшить масштаб» — позволяет уменьшить масштаб просмотра документа;
  • «Увеличить масштаб» — позволяет увеличить масштаб просмотра документа;
  • «Установить масштаб» позволяет установить фиксированный масштаб:
    • масштаб «Авто» изменяет масштаб страницы вслед за изменением размера окна программы (изменяет размер страницы так, чтобы она точно соответствовало размеру окна при текущем коэффициенте масштабирования);
    • масштаб «100%» — изменяет отображение документа до фактического размера, предписанного параметрами документа.

На левой боковой панели (3) могут отображаться миниатюры страниц документа или подписи документа (если документ имеет подписи).

На правой боковой панели (4) при выборе подписи отображается информация о подписи, при выборе профиля — информация о профиле.

Работа с приложением

Просмотр документа

Для просмотра PDF-документа в приложении, необходимо нажать кнопку «Файл», выбрать файл в диалоговом окне и нажать «Открыть» или дважды щёлкнуть по названию документа.

Для передвижения по документу можно использовать:

  • клавиши перемещения и навигации: ↑/↓ и PgUp/PgDn;
  • полосы прокрутки;
  • колесо мыши;
  • кнопки «Перейти к следующей странице», «Перейти к предыдущей странице», «Перейти на конкретную страницу с номером» на панели инструментов для работы с PDF-документом.

Для навигации по документу можно также использовать левую боковую панель в режиме просмотра миниатюр страниц документа.

Проверка электронной подписи

Примечание: Для корректной проверки подписи должны быть установлены корневой и промежуточные сертификаты подписанта документа.


Для документа, подписанного электронными подписями, на левой боковой панели будут отображаться сертификаты.

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

Список сертификатов и информация об электронной подписи

Корректные подписи отображаются зеленым цветом, некорректные — красным:

Неверная подпись

Если подпись защищает не весь документ (если документ был изменен после подписывания), существует возможность открыть подписанный документ. Для этого необходимо на панели параметров подписи нажать кнопку «Открыть подписанную версию»:

Подпись защищает не весь документ

Добавление электронных подписей

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

Чтобы подписывать документы электронной подписью, нужно установить в личное хранилище сертификат с закрытым ключом.

«Сургуч» позволяет добавить подпись к уже подписанному файлу.

Формат электронной подписи

«Сургуч» позволяет создавать электронную подпись двух форматов:

  • простая электронная подпись;
  • усовершенствованная электронная подпись.

Формат усовершенствованной подписи предусматривает включение в электронную подпись информации о времени создания подписи (TSP) и о статусе сертификата электронной подписи (OCSP) в момент подписания (действителен или отозван). Время создания электронной подписи удостоверяется электронной подписью специального сервера точного времени. Для этого в процессе создания электронной подписи происходит обращение к серверу, создаётся метка точного времени, которая и сохраняется в электронной подписи.

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

Штамп электронной подписи

«Сургуч» формирует графический штамп электронной подписи.

Штамп формируется по встроенному неизменяемому шаблону. Для штампа можно задать положение на странице.

Профиль подписи

Чтобы оперативно подписывать документы создаются специальные профили (шаблоны).

Можно создать и использовать разные профили для выполнения операций подписи.

Сургуч. Создание профиля

Для создания профиля необходимо:

  1. В выпадающем списке «Профиль» выбрать пункт «Создать профиль».
  2. В открывшейся правой боковой панели заполнить настройки профиля:
    • «Название профиля» — название профиля (в названии профиля нельзя использовать пробел);
    • «Использовать по умолчанию» — профиль будет выбран при запуске приложения;
    • «Сертификат» — позволяет выбрать сертификат, который будет использоваться для подписи. Для выбора доступны личные сертификаты с привязкой к закрытому ключу;
    • «Тип CADES»:
      • «CAdES-BES» — создание классической подписи;
      • «CAdES-T» — создание подписи со штампом времени;
      • «CAdES-XLT1» — создание усовершенствованной подписи;
      При выборе стандартов «CAdES-T» и «CAdES-XLT1» требуется заполнить поле «Адрес службы TSP».
    • «Вид штампа» — позволяет выбрать тип штампа (ГОСТ);
    • «Логотип компании» — позволяет выбрать логотип, который будет отображаться в штампе электронной подписи (логотип можно не указывать);
    • «Адрес службы TSP» — адрес службы штампов времени, который можно узнать у поставщика услуг. Услуги службы штампов времени могут предоставлять удостоверяющие центры (например, http://qs.cryptopro.ru/tsp/tsp.srf, http://pki.tax.gov.ru/tsp/tsp.srf). Поле доступно, если выбран тип CADES «CAdES-T» или «CadES-XLT1».
  3. Нажать кнопку «Сохранить профиль».

Чтобы открыть панель редактирования профиля, необходимо:

  • если профиль выбран в списке, нажать на значок ключа рядом с профилем;
  • выбрать профиль в списке профилей.

На панели редактирования профиля можно внести изменения в профиль (чтобы сохранить изменения, необходимо нажать кнопку «Сохранить профиль»).

Для удаления профиля необходимо на панели редактирования профиля нажать кнопку «Удалить профиль».

Подписание документа

Для того чтобы подписать документ, необходимо:

  1. Открыть документ.
  2. Выбрать в выпадающем списке профиль (если он еще не выбран).
  3. Нажать кнопку «Подписать».
  4. Выбрать область («Позицию штампа»), в которой будет расположен штамп электронной подписи:
    Сургуч. Допустимая позиция штампа
    Если штамп в выбранной области расположить нельзя, то он будет подсвечен красным цветом:
    Сургуч. Недопустимая позиция штампа
  5. Нажать левую клавишу мыши, когда штамп находится в нужной позиции.
  6. Ввести пароль на контейнер (если контейнер защищен паролем):
    Пароль на контейнер
  7. Документ будет подписан. В левой панели появится название сертификата, в выбранной области появится штамп электронной подписи:
    Сургуч. Подписанный документ
    Если в левой панели выбрать сертификат, в правой панели отобразится информация об электронной подписи:
    Сургуч. Информация об электронной подписи
  8. Сохранить подписанный документ, нажав кнопку «Сохранить как».
Примечание: Стандарт подписи, использование штампов времени, сертификат подписи настраиваются в профиле подписи.


Отладка

Для возможности подписи и проверки подписанного документа необходимо обеспечить корректное функционирование «КриптоПро». В комплекте «КриптоПро» поставляется плагин для браузера, который позволяет создавать и проверять электронные подписи. При возникновении ошибок при работе с приложением «Сургуч», следует протестировать и понять, что конкретно не работает в КриптоПро, цепочки сертификатов и т. д. (см. https://cryptopro.ru/sites/default/files/products/cades/demopage/main.html)

Можно также проанализировать системный журнал. События в библиотеке можно наблюдать в системном журнале по тегу altpdfcsp, например:

# journalctl -f |grep altpdfcsp
дек 11 20:03:25 w4.test.alt altpdfcsp[5507]: [IpcClient] Parent process (PID: 5507 ) created child with PID 5522
дек 11 20:03:25 w4.test.alt altpdfcsp[5522]: [IpcClient] IPC EXE FILE = /usr/libexec/altcspIpcProvider
дек 11 20:03:25 w4.test.alt altpdfcsp[5522]: IPC PROVIDER started
дек 11 20:03:25 w4.test.alt altpdfcsp[5522]: [IpcProvider] mem_name MySharedMemory55071437442687 semaphore_param ParamSem55071437442687  semaphore_result ResultSeM55071437442687
дек 11 20:03:25 w4.test.alt altpdfcsp[5522]: [IpcProvider] waiting for params