Рутокен в Linux

Рутокен обеспечивает двухфакторную аутентификацию пользователя, которая подразумевает ввод пароля и подключение самого токена в USB-разъем компьютера. Использование двухфакторной аутентификации сегодня считается значительно надежнее, так как электронная подпись является более защищённой. Более того, безопасность Рутокенов постоянно повышается.

В Master PDF Editor встроена поддержка Рутокен для электронной подписи и шифрования документов.

Прежде чем начать работу с Рутокеном, необходимо включить поддержку алгоритмов ГОСТ в openssl.

В Astra Linux это выполняется установкой этого пакета:
sudo apt install libgost-astra

В РЕД ОС, Alt Linux требуется установить пакет openssl-gost-engine.

В большинстве случаев после установки требуемого пакета выполнение защитного преобразования по алгоритмам ГОСТ заработает автоматически. В некоторых случаях может потребоваться ручная настройка поддержки алгоритмов ГОСТ, для этого обратитесь к документации вашей ОС.

Так как в дистрибутивах Debian 12, Ubuntu 23 пакет openssl-gost-engine отсутствует, необходимо вручную скачать исходники, откомпилировать и установить в соответствии с инструкцией.

Проверить поддержку алгоритмов ГОСТ можно выполнив эту команду в консоли:
openssl ciphers | tr ':' '\n' | grep GOST

P.SПредпочтительнее использовать Рутокен ЭЦП 2 или ЭЦП 3, которые имеют аппаратную поддержку шифрования и не требуют установки криптопровайдера.

Для работы с Рутокен ЭЦП 2 и ЭЦП 3 можно использовать бесплатный драйвер Рутокена или КриптоПро CSP:
https://www.rutoken.ru/support/download/pkcs/

Рутокен Lite не имеет аппаратной поддержки и требует установки криптопровайдера КриптоПро.

Для работы с Рутокенами Lite и S требуется установить КриптоПро CSP:
https://www.cryptopro.ru/products/csp

 

Настройка системы

Прежде всего необходимо установить и настроить pkcs11-tool.

В Astra Linux это выполняется установкой следующих пакетов:
sudo apt install libccid pcscd libpcsclite1 pcsc-tools opensc libengine-pkcs11-openssl

Выполните в консоли следующую команду:
pcsc_scan

Если все корректно, то вывод должен быть примерно такой:

 

Установка драйверов

Рутокен в Linux

Для Рутокен ЭЦП 2 и ЭЦП 3 скачайте библиотеку:
https://www.rutoken.ru/support/download/pkcs/

Установите через консоль:

sudo apt install ./librtpkcs11ecp_*_amd64.deb

Для всех типов Рутокенов, в частности Рутокена Lite и Рутокена S, скачайте и установите КриптоПро CSP:
https://www.cryptopro.ru/products/csp

 

Если был установлен драйвер от Рутокен, то выполните следующую команду в консоли:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T

 

 

Если установлен КриптоПро CSP, проверьте работу токена следующим образом:
pkcs11-tool --module /usr/lib//opt/cprocsp/lib/amd64/libcppkcs11.so -T

 

 

Аладдин RD JaCarta

Для работы с JaCarta требуется скачать и установить драйвер с официального web-сайта:
https://www.aladdin-rd.ru/support/downloads/jacarta

Проверить работу можно следующей командой:
pkcs11-tool —module /usr/lib/libjcPKCS11-2.so -T

 

Настройки в Master PDF Editor

Откройте вкладку Сертификаты в параметрах программы через главное меню. В пункте «PKCS#11 провайдер» укажите соответствующие пути к библиотекам.

В случае установки драйвера от Рутокен:

/usr/lib/librtpkcs11ecp.so

В случае установки КриптоПро CSP:

/opt/cprocsp/lib/amd64/libcppkcs11.so

В случае установки JaCarta:

/usr/lib64/libjcPKCS11-2.so

pkcs#11 path

После этого сертификаты будут доступны в выпадающем меню Подписать как в диалоговом окне Свойства подписи.

Чтобы создать цифровую подпись, выберите в меню Формы > Подпись или нажмите кнопку Подпись на панели инструментов.

P.SПри подписании PDF документа с токена сертификат импортировать не нужно. Необходимо выбрать в выпадающем списке Подписать как в диалоговом окне Свойства подписи нужный сертификат и подписать документ.

 

Читайте также: