- Скачиваем актуальную версию КриптоПро CSP. Может потребоваться авторизация. Далее распаковываем архив и устанавливаем компоненты КриптоПро:
- Скачиваем и устанавливаем корневой сертификат УЦ.
- Скачиваем КриптоПро ЭЦП Browser plug-in.
- Перезапускаем браузер и заходим на тестовую страницу КриптоПро CSP.
- Rosa crypto tool
- Rutoken s драйвер astra linux
- Trusted esign
- Блокировка компьютера при извлечении токена
- Дополнительные источники информации
- Драйверы для *nix
- Извлечение сертификата из токена
- Настройка «криптопро» csp
- Настройка аутентификации
- Обратите внимание
- Очистка всех данных с рутокена
- Параметры
- Поддерживаемые модели
- Подпись средствами «криптопро csp»
- Получаем тестовый сертификат
- Примеры использования
- Проверка
- Проверка работы рутокен в системе
- Резюме
- Рутокен в astra linux
- Создание самоподписанного сертификата
- Способ №2
- Способ №3
- Установка
- Установка дополнительный пакетов
Скачиваем актуальную версию КриптоПро CSP. Может потребоваться авторизация. Далее распаковываем архив и устанавливаем компоненты КриптоПро:
/Downloads tar -xf linux-amd64_deb.tgz cd linux-amd64_deb sudo ./install_gui.sh #Установить необходимые компоненты, например, как на скриншоте
# Если необходима автоматическая установка, то можно использовать следующую команду
sudo ./install.sh cprocsp-rdr-pcsc cprocsp-rdr-rutoken cprocsp-rdr-cryptoki
# Ключ cprocsp-rdr-cryptoki указывается, если необходимо работать с библиотекой rtpkcs11ecp через КриптоПро CSP
Скачиваем и устанавливаем корневой сертификат УЦ.
В данном примере устанавливается корневой сертификат Тестового УЦ КриптоПро. Сертификаты, выданные данным УЦ, можно использовать только в тестовых целях.
Скачиваем КриптоПро ЭЦП Browser plug-in.
/Downloads tar -xf cades_linux_amd64.tar.gz cd cades_linux_amd64
# Устанавливаем пакеты sudo dpkg -i cprocsp-pki-cades_*_amd64.deb sudo dpkg -i cprocsp-pki-plugin_*_amd64.deb
# Копируем файл libnpcades.so в папку с плагинами (если используется Firefox) sudo cp /opt/cprocsp/lib/amd64/libnpcades.so /usr/lib/firefox-addons/plugins/libnpcades.so
Для Google Chrome устанавливаем расширение CryptoPro Extension for CAdES Browser из магазина Chrome.
Перезапускаем браузер и заходим на тестовую страницу КриптоПро CSP.
Источник
Rosa crypto tool
Как следует из названия, это утилита для работы с электронной подписью и шифрованием для дистрибутива ROSA Linux. В данный момент утилита доступна в репозиториях Rosa Linux и Alt Linux.
Эта утилита разрабатывается одним человеком – Михаилом Вознесенским. У нее простой, но удобный интерфейс. На данный момент утилита находится в активной разработке – с ноября 2022 года мне удалось протестировать три версии. Последняя версия, доступная на момент написание статьи — 0.2.2.
Что внутри? Утилита написана на Python с использованием PyQt4 для графического интерфейса.
Установить ее можно, использовав «Управление программами» в Rosa Linux.
Вставляем токен и запускаем утилиту.
Видим, что токен определился успешно и был найден наш сертификат.
Интерфейс программы настолько прост, что описывать и показывать в статье все его функции не имеет смысла. Попробуем только подписать файл.
Выбираем файл и жмем “Подписать файл”. Получаем вот такое предупреждение.
Нажимаем «OK» и получаем информацию о том, что файл был подписан успешно.
Основное достоинство этой утилиты в том, что она совершенно бесплатная, в отличии нашего следующего продукта.
По сравнению с использованием «КриптоПро CSP» из консоли:
На порядок проще использовать;— Отсутствуют различные параметры подписи.
Исходный код программы доступен в публичном репозитории на ABF:abf.io/uxteam/rosa-crypto-tool-develСистема контроля версий, которую использует «НТЦ ИТ РОСА», интегрирована в сборочную среду и базируется на Git. Можно вполне использовать любой клиент git.
Надеюсь, разработчики других отечественных дистрибутивов Linux, таких как Astra Linux, GosLinux и другие добавят в свои дистрибутивы пакеты с rosa-crypto-tool.
Rutoken s драйвер astra linux
Для обеспечения работы с электронными ключами Rutoken в ОС семейства Linux необходимо установить:
1. КриптоПро CSP
2. Пакеты из состава дистрибутива КриптоПро CSP : cprocsp-rdr-pcsc, cprocsp-rdr-rutoken
Trusted esign
Второй продукт, про который мы поговорим, это Trusted eSign от компании “Цифровые технологии”. Она известна на российском рынке ИБ как разработчик средства по работе с подписью и шифрованием для ОС Windows – «КриптоАРМ».
Главное, не путать этот продукт с Trusted.eSign – web-сервисом по работе с подписью этой же компании.
Блокировка компьютера при извлечении токена
В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.
Для настройки pkcs11_eventmgr служит файл конфигурации — /etc/pam_pkcs11/pkcs11_eventmgr.conf
Пример файла конфигурации представлен ниже:
pkcs11_eventmgr < # Запуск в бэкграунде daemon = true ;
# Настройка сообщений отладки debug = false ;
# Время опроса в секундах polling_time = 1;
# Установка тайм-аута на удаление карты # По-умолчанию 0 expire_time = 0;
# Выбор pkcs11 библиотеки для работы с Рутокен pkcs11_module = /usr/lib/librtpkcs11ecp .so;
# Действия с картой # Карта вставлена: event card_insert < # Оставляем значения по умолчанию (ничего не происходит) on_error = ignore ;
# Карта извлечена event card_remove < on_error = ignore;
# Вызываем функцию блокировки экрана action = «fly-wmfunc FLYWM_LOCK» ; >
# Карта долгое время извлечена event expire_time < # Оставляем значения по умолчанию (ничего не происходит) on_error = ignore;
После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузитесь.
Дополнительные источники информации
При возникновении вопроса, на который вам не удалось найти ответ в этой инструкции, рекомендуем обратиться к следующим дополнительным источникам информации:
Веб-сайт содержит большой объем справочной информации об устройствах Рутокен.
Драйверы для *nix
С инструкциями и техническими рекомендациями по использованию продуктов и программного обеспечения Рутокен можно ознакомиться в разделе Документация .
Для работы электронных идентификаторов Рутокен в deb-based системе должны быть установлены: библиотека libccid не ниже 1.4.2, пакеты pcscd и libpcsclite1.
Для работы в RPM-based системе должны быть установлены: пакеты ccid, pcscd и pcsc-lite.
Драйверы для Рутокен ЭЦП в современных операционных системах GNULinux не требуются (версия libccid не ниже 1.4.2). Пользователям стабильных или устаревших дистрибутивов может потребоваться внести изменения в конфигурационный файл.
Драйверы для Рутокен Lite в современных операционных системах GNULinux не требуются (версия libccid не ниже 1.4.2). Пользователям стабильных или устаревших дистрибутивов может потребоваться внести изменения в конфигурационный файл.
Необходимо загрузить установочный скрипт, запустить его и следовать указаниям установщика. После завершения процесса установки необходимо подключить Рутокен S в свободный USB-порт.
Извлечение сертификата из токена
вместо нужно подставить ID который вы увидите в выводе команды
Если после строчки
нет ничего, значит устройство пустое. Следует обратиться к администратору или создать ключи и сертификат самостоятельно.
Настройка «криптопро» csp
Несмотря на то, что есть несколько неплохих статей по настройке «КриптоПро CSP» под Linux (например,
или
), я опишу здесь свой вариант. Основная причина в том, что большинство инструкций написаны для «Крипто Про CSP» версии 3.x. А современная версия «КриптоПро CSP» 4.0 не является 100% совместимой с 3.x. Дополнительная причина – всегда приятно иметь полную инструкцию по настройке в одном месте, а не переключаться с одного окна на другое.
Приступаем к настройке.
Настройка аутентификации
Пуск — утилиты — Терминал Fly
sudo nano /usr/share/pam-configs/p11
записываем в файл следующую информацию:
Name: Pam_p11 Default: yes Priority: 800 Auth-Type: Primary Auth: sufficient pam_p11_opensc.so /usr/lib/librtpkcs11ecp .so |
сохраняем файл, нажав Alt X, а затем Y, после чего выполнить команду:
в появившемся окне отметить пункт Pam_p11 и нажать OK
Обратите внимание
Если для работы с Рутокен используется виртуальная ОС MS Windows, запущенная на компьютере c GNU/Linux, то устанавливать Драйверы Рутокен для Linux необязательно.
Драйвер Рутокен S для GNU/Linux также доступен в исходных кодах, которые можно загрузить здесь .
Источник
Очистка всех данных с рутокена
Инициализация утилитой pkcs11-tool:
$ pkcs11-tool —slot 0 —init-token —so-pin ‘87654321’ —label ‘Название_Вашего_токена’ —module /usr/lib/librtpkcs11ecp.so
Также для очистки всех данных воспользуйтесь командами:
Параметры
Утилита запускается из командной строки и имеет следующие параметры:
Поддерживаемые модели
- Рутокен Lite
- Рутокен Lite SC
- Рутокен ЭЦП
- Рутокен ЭЦП 2.0
- Рутокен ЭЦП SC
- Рутокен ЭЦП PKI
- Рутокен ЭЦП Flash
- Рутокен ЭЦП 2.0 Flash/touch
- Рутокен PINPad
Ссылки на загрузку:
Подпись средствами «криптопро csp»
В составе «КриптоПро CSP» есть утилита csptestf, позволяющая выполнять различные криптографические операции. Как я уже писал выше, у этой утилиты есть 2 недостатка:
Подписать можно с помощью команды:
csptestf –sfsign –sign –in <имя файла> -out <имя файла> -my ‘Trusted eSign Test’ –detached –alg GOST94_256
Здесь,
my — параметр, в котором надо указать часть Common Name сертификата для подписи;
detached — позволяет создать открепленную подпись;
alg GOST94_256 — задает алгоритм хэширования, который будет использоваться при создании подписи.
Более подробную информацию о возможных параметрах вы можете получить, выполнив команду:
csptestf –sfsign
Такой интерфейс отлично подходит для подготовленного пользователя или для автоматизации операций в скриптах.
Поговорим теперь об утилитах, которые облегчают жизнь обычным пользователям при работе с подписью и шифрованием в Linux.
Получаем тестовый сертификат
Перед тем как перейти непосредственно к работе с подписью, надо сгенерировать ключевую пару и создать сертификат электронной подписи. Если у вас уже есть Рутокен с контейнером «КриптоПро», то эту часть можно смело пропустить.
Примеры использования
Отформатировать один токен с параметрами по умолчанию (для поточного выполнения убрать флаг -q)
Отформатировать токен, задав имя токена RutokenLabel , PIN-код пользователя 123456789 и PIN-код администратора 987654321 .
Проверка
Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:
В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене:
Если после строчки выводится информация о ключах и сертификатах, то необходимо считать сертификат:
Проверка работы рутокен в системе
Для проверки работы Рутокена:Подключите устройство к компьютеру.
Резюме
Подведем итог. В конце 2022 – начале 2022 года наметился неплохой прогресс в средствах по работе с электронной подписью под Linux. Информационная безопасность начинает поворачиваться к пользователю лицом, и с каждым годом требуется все меньше действий для такого простого действия, как подписать или зашифровать файл с использованием отечественных алгоритмов.
Хочется дополнительно отметить такое развитие отечественных продуктов, учитывая современный тренд на замену Windows на Linux в государственных и муниципальных организациях. В рамках этого тренда становится актуальным использование средств криптографической защиты информации под Linux.
Такое развитие не может не радовать, особенно когда это происходит под Linux.
Рутокен в astra linux
Рутокен S– модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК.
Рутокен Lite– модель для надежного хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро, VipNet и других. Сертифицированы во ФСТЭК. Обладает интерфейсом CCID и не требует установки дополнительных драйверов
Рутокен ЭЦП 2.0– имеет встроенный криптопровайдер и высокую производительность. Формирует квалифицированную электронную подпись (КЭП) при помощи сертифицированной реализации российских криптографических алгоритмов непосредственно в самом чипе устройстве, что повышает безопасность использования ЭП — ключ подписи никогда не покидает токен, его невозможно использовать или скопировать без ведома владельца. Работает с алгоритмами ГОСТ 2022. Сертифицированы в ФСБ и ФСТЭК.
Широко используется в системе ЕГАИС с 2022 года. В активном пользовании более полумиллиона устройств с квалифицированной электронной подписью.
Тестирование электронной подписи в Astra Linux:Кроме двухфакторной аутентификации, можно проверять также подписание документов.
Для Рутокен Lite/S подписание проверить через:
1) КриптоАРМ eSign или КриптоАРМ ГОСТ 2) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»
Для Рутокен ЭЦП 2.0 подписание можно проверить несколькими способами:
1) КриптоАРМ eSign или КриптоАРМ ГОСТ 2) Тестовый центр регистрации Рутокен Рутокен Плагин 3) OpenSSL Рутокен engine 4) Утилиту csptestf из состава КриптоПро CSP. Подробно в разделе на Подпись средствами «КриптоПро CSP»
Рутокен для Байкала и Эльбруса
Рутокен Lite и Рутокен ЭЦП одинаково хорошо работают на всех платформах, где есть USB-интерфейс.Сейчас для Эльбруса и Байкала Рутокены подписывают через программы:1) Тестовый центр регистрации Рутокен Рутокен Плагин 2) Утилита из КриптоПро CSP 5.0
Создание самоподписанного сертификата
Для генерации ключевой пары в терминале следует ввести команду:
pkcs11-tool —module /usr/lib/librtpkcs11ecp .so —label «название_ключа» —keypairgen —key- type rsa:2048 -l — id 45
Для создания самоподписанного сертификата в терминале следует ввести команду:
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/librtpkcs11ecp.so
(dynamic) Dynamic engine loading support[Success]: SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so[Success]: ID:pkcs11[Success]: LIST_ADD:1[Success]: LOAD[Success]: MODULE_PATH:/usr/lib/librtpkcs11ecp.soLoaded: (pkcs11) pkcs11 engine
Способ №2
путь до библиотеки librtpkcs11ecp.so может различаться
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
Способ №3
графическая утилита XCA:
Установка
Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:
- библиотека libccid, librtpkcs11ecp.so;
- пакеты libpcsclite1 и pcscd;
- opensc;
Для установки в терминале введите команду:
Установка дополнительный пакетов
Пуск — Настройки — Менеджер пакетов
через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:
- libccid
- pcscd
- libpam-p11
- libpam-pkcs11
- libp11-2
- libengine-pkcs11-openssl
- opensc
Либо воспользовавшись терминалом FLY:
Регистрация сертификата в системе
Конвертируем сертификат в текстовый формат
где cert.pem — Ваш сертификат из токена в текстовом формате
Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов: Добавляем сертификат в список доверенных сертификатов:
Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:
Важно помнить, что при регистрации нескольких токенов на одном компьютере, необходимо указывать пользователям раличные id.