- Проверка работы электронной подписи с использованием Browser Plug-in
- Astra Linux, РЕД ОС, ALT Linux, ROSA Linux, Ubuntu, AlterOS
- Если у вас в ОС установлен OpenSSL 3. х, необходимо обновить библиотеку libp11.
- Установка КриптоПро CSP
- При помощи install_gui
- Установка сертификатов
- Установка сертификатов удостоверяющего центра
- Установка сертификата с контейнера на токене
- Подключение токена
- Получение установочных пакетов
- Применимость
- Сертификат для аутентификации уже присутствует на Рутокене
- Если вы используете Ubuntu 22. 04 LTS, то необходимо включить автоматический старт службы смарт-карт
- Создание тестового сертификата
- Копирование контейнера на токен
- Установка базовых компонентов КриптоПро
- Установка дополнительных компонентов КриптоПро
- Установка Browser Plug-in
- Если ключевая пара присутствует на Рутокене, но сертификата нет
- Руководство по настройке
- Установка драйверов и ПО для работы с JaCarta PKI
- Установка пакетов КриптоПро CSP
- Настройка и диагностика КриптоПро CSP
- Работа с токеном JaCarta PKI
- Программное извлечение ключей
- Результаты
- Полезные ссылки
- Онлайн курс по Kubernetes
- Помогла статья? Подписывайся на telegram канал автора
- Рекомендации к использованию утилит командной строки КриптоПро
- Использование псевдонимов
- Литература по использованию утилит командной строки
- Некоторые полезные команды
Проверка работы электронной подписи с использованием Browser Plug-in
Astra Linux, РЕД ОС, ALT Linux, ROSA Linux, Ubuntu, AlterOS
Для упрощения процесса настройки локальной аутентификации по Рутокену можно воспользоваться графической утилитой. Загрузить ее можно с помощью следующей последовательности команд:
Если у вас в ОС установлен OpenSSL 3. х, необходимо обновить библиотеку libp11.
Для этого необходимо выполнить следующие действия:
После того, как настройщик был загружен, его можно запустить двойным щелчком по token-assistent. run. Если программа открылась вместе с терминалом, то для запуска необходимо создать ярлык, с помощью установщика token-assistent. installer. После запуска установщика появится ярлык token-assistent. desktop, который нужно использовать для запуска программы.
При первом запуске программа может запросить пароль администратора для получения обновлений. Загрузка обновлений может занять несколько минут.
В некоторых ОС может автоматически не устанавливаться пакет tkinter. Попробуйте установить его вручную, выполнив в консоли команду:
# для astra и alt linux
sudo apt-get install python3-tkinter
# для red os
sudo yum install python3-tkinter
Так же могут встречаться названия пакетов python3-tk, python34-tkinter.
После загрузки обновлений, программа предложит выбрать устройство, которое мы хотим использовать для локальной аутентификации. Если нужный Рутокен не появился в списке, то можно нажать на клавишу для обновления списка Рутокенов:
Далее вводим PIN-код Рутокена:
Откроем список объектов на Рутокене:
Установка КриптоПро CSP
Примечание
По умолчанию класс защиты выбирается как КС1. Если требуется класс защиты КС2, то это следует указать при выполнении скрипта (sudo. /install. sh kc2).
Предупреждение
Пакеты “lsb-cprocsp-kc1” и “lsb-cprocsp-kc2” являются конфликтующими.
- Установить дополнительные пакеты (без них не будет работать КриптоПро Fox и КриптоПро ЭЦП Browser Plug-in): sudo rpm -ivh cprocsp-rdr-pcsc-* lsb-cprocsp-pkcs11-* cprocsp-rdr-gui-gtk-*.
- Установить пакеты поддержки нужных устройств. Эти пакеты находятся в архиве КриптоПро CSP, их названия начинаются с cprocsp-rdr-. Не следует устанавливать пакет cprocsp-rdr-gui, так как в связке с cprocsp-rdr-gui-gtk он нарушает работу графических компонентов.
- Установить компоненты КриптоПро ЭЦП Browser Plug-in, скачав архив с сайта.
При помощи install_gui
- Установить базовые пакеты из репозиториев (или из диска): sudo urpmi -a lsb-core ccid pangox-compat newt или sudo yum install redhat-lsb* ccid pangox-compat newt (в зависимости от используемого менеджера пакетов).
- Далее, если нет отдельно обозначенных требований к классу защиты, то можно поступить так, как указанно на картинках ниже. Иначе, если требуется класс защиты КС2, на соответствующем этапе следует выбрать пакет “lsb-cprocsp-kc2”.
Примечание
Для выбора опций здесь используется пробел, а для навигации – стрелки и табуляция.
- Выбор пакетов. В данном примере устанавливается всё (кроме пакета КС2).
- Уточняется правильность выбора
- Все пакеты успешно установлены
- Здесь можно ввести номер лицензии. Для тестирования можно использовать триальную (3 месяца).
- Можно передумать и сделать что-то ещё
- Выход из установщика
- То, как выглядит терминал после успешной установки
Установка сертификатов
Для начала следует добавить сайт КриптоПро в список доверенных. Для этого закрываем браузер если он был открыт и вводим в консоли команду (без прав администратора):
firefox /etc/opt/cprocsp/trusted_sites. html
Вбиваем название сайта в строку «Добавить новый», нажимаем «+» и «Сохранить».
Установка сертификатов удостоверяющего центра
/opt/cprocsp/bin/amd64/certmgr -inst -store uRoot -file ~/Downloads/certnew. p7b
/opt/cprocsp/bin/amd64/certmgr -inst -crl -file ~/Downloads/certcrl. crl
/opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn
Установка сертификата с контейнера на токене
Теперь установим сертификат с рутокена в личное хранилище (uMy):
Если всё выполнилось без ошибок, можно переходить к пункту #Проверка работы электронной подписи с использованием Browser Plug-in
Примечание
Чаще всего расширение. cer соответствует сертификату, а. p7b – контейнеру, в котором может содержаться один или больше сертификатов (например их цепочка)
Подключение токена
Теперь можно подключить рутокен к USB-порту компьютера
Запускаем в отдельном окне консоли программу pcscd с правами администратора (root). На данном этапе используется отладочный вариант запуска.
su
killall pcscd
pcscd -adfffff
После запуска не будем закрывать эту консоль (там можно будет видеть, как система общается со смарт-картой).
Для последующих команд будем использовать консоль, которую мы открыли первой. Для них права суперпользователя не требуются (можно набрать в терминале exit для отмены режима root).
Далее наберём в консоли следующее:
Утилита должна увидеть устройство:
Получение установочных пакетов
После этого браузер следует закрыть.
Применимость
В инструкции описана установка СКЗИ КриптоПро CSP 4. 0 для ROSA Enterprise Linux Server 6. 7 для работы с Рутокен. Пример указан для 64-разрядной архитектуры AMD64, для 32-разрядной установка аналогична с точностью до указания установочных пакетов и папок.
Примечание
Когда не говорится о необходимости использования прав суперпользователя, подразумевается, что всё выполняется с правами пользователя, которым будет вестись работа в браузере firefox. Этот пользователь должен оставаться неизменным на протяжении всего описанного процесса
Сертификат для аутентификации уже присутствует на Рутокене
Если нужный сертификат уже присутствует на Рутокене, то щелкаем два раза мышью по нему:
И выбираем пункт для настройки локальной аутентификации:
Для данной опции система может ещё раз проверить наличие прав суперпользователя:
Выберем пользователя, для которого хотим произвести настройку.
Если настройка прошла успешно, то утилита уведомит вас об этом:
Чтобы проверить результат проверки, выполните команду:
Лампочка на токене начнет мигать и отобразится предложение с вводом PIN-кода:
После этого, проверку можно произвести через Greeter:
Помимо настройки входа с помощью Рутокена, автоматически была настроена автоблокировка при извлечении устройства. Ее можно проверить с помощью извлечения Рутокена.
Если вы используете Ubuntu 22. 04 LTS, то необходимо включить автоматический старт службы смарт-карт
$ sudo systemctl enable pcscd
$ sudo systemctl enable pcscd. socket
Создание тестового сертификата
Нажимаем кнопку «Выдать >»
Теперь можно копировать контейнер на токен, но сначала надо узнать его название. Для этого нужно открыть консоль и выполнить следующую команду:
Также надо узнать полное название контейнера, полученного в ходе генерации сертификата:
Копирование контейнера на токен
Затем используем эти названия в следующей команде:
Теперь токен содержит контейнер. Можно вернуться к пункту «Установка сертификата с контейнера на токене (п. 3)», предварительно удалив сертификат, установленный из контейнера на жёстком диске (сгенерированного тестовым удостоверяющим центром).
Примечание
Устанавливать сертификат именно с контейнера на токене нужно для того, чтобы в системе была привязка сертификата к устройству
Удалить этот сертификат можно использовав следующую команду:
И, при необходимости, выбрав номер сертификата, который необходимо удалить.
Для установки нужно распаковать полученный архив. Для этого откроем терминал (вкладка терминала расположена слева посередине панели запуска приложений)
и выполним следующие команды:
cd ~/Downloads/
tar -xvf linux-amd64. tgz
tar -xvf cades_linux_amd64. tar
Должна появиться папка с установочными файлами КриптоПро, в консоли можно перейти в неё командой
Установка базовых компонентов КриптоПро
Далее нужно выполнить инсталляцию с правами администратора (root), для этого нужно в консоли ввести команду перехода в режим суперпользователя:
и ввести пароль, после этого ввести команды для инсталляции:
yum install redhat-lsb* ccid pangox-compat. /install
Установка дополнительных компонентов КриптоПро
rpm -ivh cprocsp-rdr-pcsc-* lsb-cprocsp-pkcs11-* cprocsp-rdr-gui-gtk-*
Также стоит отметить пакеты поддержки устройств (токенов/ридеров/плат расширения). Эти пакеты находятся в архиве КриптоПро CSP, их названия начинаются с cprocsp-rdr-. При необходимости использования определенного устройства (например Рутокен ЭЦП) следует установить соответствующий пакет ( rpm -ivh cprocsp-rdr-rutoken*). Также в архиве есть пакеты с драйверами (ifd-*) их также следует установить при использовании соответствующего устройства (Рутокен S -> rpm -ivh ifd-rutokens*).
Не следует устанавливать пакет cprocsp-rdr-gui, так как в связке с cprocsp-rdr-gui-gtk он нарушает работу графических компонентов.
Установка Browser Plug-in
rpm -ivh lsb-cprocsp-devel*
yum install cprocsp-pki-2. 0-amd64-cades. rpm
yum install cprocsp-pki-2. 0-amd64-plugin. rpm
Если ключевая пара присутствует на Рутокене, но сертификата нет
В списке объектов выберем закрытый ключ из ключевой пары, для которой хотим создать заявку на сертификат:
В открывшемся окне выберем опцию создания заявки на сертификат:
Введем данные сертификата:
Далее выберем какой сертификат нужно создать (самоподписанный сертификат, заявку на сертификат):
В случае создания самоподписанного сертификата, он будет автоматически импортирован на Рутокен и следующий раздел в инструкции можно пропустить.
Если же мы выбрали пункт для создания заявки на сертификат, то данную заявку потребуется сохранить в файловой системе:
Заявку в дальнейшем следует отправить в ваш УЦ, для получения сертификата.
Руководство по настройке
После установки токена JaCarta PKI в USB порт сервера и запуска системы проверяем, что новое устройство обнаружено и появилось в списке:
В нашем случае это Bus 004 Device 003: ID 24dc:0101
Для диагностики считывателей можно воспользоваться утилитой pcsc-tools из проекта security:chipcard (software. opensuse. org).
Пока не установлены все необходимые пакеты, информация о токене не отобразится.
Установка драйверов и ПО для работы с JaCarta PKI
На странице Поддержки сайта «Аладдин Р. » загружаем Документацию и программное обеспечение для работы только с JaCarta PKI
Согласно Руководству по внедрению «JaCarta для Linux» пункт 4. , первым делом требуется установить пакеты pcsc-lite, ccid и libusb.
Для работы утилиты управления JaCarta необходимо установить следующие компоненты:
- PC/SC Lite — промежуточный слой для обеспечения доступа к смарт-картам по стандарту PC/SC, пакет pcsc-lite.
- Библиотеки ccid и libusb для работы с USB-ключами, смарт-картами и считывателями смарт-карт.
Выполняем проверку наличия этих пакетов и установку:
zypper search pcsc-lite
zypper search libusb
zypper install pcsc-lite
zypper search CCID
zypper install pcsc-ccid
zypper install libusb
В итоге пакет pcsc-lite был обновлен, CCID установлен, libusb никаких действия не требовалось.
Следующими двумя командами выполняем установку пакета с драйверами и программным обеспечением непосредственно для работы с JaCarta PKI:
zypper install idprotectclientlib-637. 03-0. x86_64. rpm
zypper install idprotectclient-637. 03-0. x86_64. rpm
Проверяем, что драйверы и ПО для JaCarta PKI установились:
zypper search idprotectclient
При попытках заставить работать SafeNet eToken PRO я нашел информацию, что предустановленный в SLES пакет openct — Library for Smart Card Readers может конфликтовать с pcsc-lite — PCSC Smart Cards Library, установку которого требует руководство Аладдин Р.
zypper search openct
Поэтому пакет openct удаляем:
rpm -e openct
Теперь все необходимые драйверы и ПО для работы с токеном установлены.
Выполняем диагностику с помощью утилиты pcsc-tools и убеждаемся, что JaCarta определяется в операционной системе:
Установка пакетов КриптоПро CSP
При установке КриптоПро CSP по умолчанию нужные пакеты для работы с токенами и смарт-картами отсутствуют.
zypper search cprocsp
Выполняем установку в CSP компонента поддержки JaCarta components for CryptoPro CSP
zypper install cprocsp-rdr-jacarta-64-3. 408. 683-4. x86_64. rpm
Некоторые компоненты имеют зависимости. Так, например, если попытаться выполнить установку пакета поддержки SafeNet eToken PRO cprocsp-rdr-emv-64-4. 9944-5. x86_64. rpm — EMV/Gemalto support module, то получим сообщение о необходимости сначала установить базовый компонент CSP поддержки считывателей cprocsp-rdr-pcsc-64-4. 9944-5. x86_64. rpm — PC/SC components for CryptoPro CSP readers:
Устанавливаем базовые пакеты поддержки считывателей и ключевых носителей:
zypper install cprocsp-rdr-pcsc-64-4. 9944-5. x86_64. rpm
zypper install lsb-cprocsp-pkcs11-64-4. 9944-5. x86_64. rpm
Теперь можно установить модули для работы с остальными видами носителей и компонент GUI:
zypper install cprocsp-rdr-emv-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-novacard-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-mskey-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-gui-gtk-64-4. 9944-5. x86_64. rpm
Проверяем итоговую конфигурацию КриптоПро CSP:
zypper search cprocsp
Loading repository data. Reading installed packages.
Чтобы применить изменения, выполняем перезапуск службы криптографического провайдера и проверяем ее статус:
/etc/init. d/cprocsp restart
/etc/init. d/cprocsp status
Настройка и диагностика КриптоПро CSP
Проверим, видит ли криптографический провайдер наш токен и другие доступные типы носителей следующими командами:
/opt/cprocsp/bin/amd64/csptest -card -enum -v –v
/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251
Следуя инструкции КриптоПро CSP для Linux. Настройка, выполняем его регистрацию в криптографическом провайдере:
Чтобы выполнить требования Формуляра, Правил пользования и Руководства администратора безопасности КриптоПро CSP:
Использование СКЗИ «КриптоПро CSP» версии 4. 0 с выключенным режимом усиленного контроля использования ключей не допускается. Включение данного режима описано в документах ЖТЯИ. 00087-01 91 02. Руководство администратора безопасности.
Необходимо включить режим усиленного контроля использования ключей:
/opt/cprocsp/sbin/amd64/cpconfig -ini ‘configparameters’ -add long StrengthenedKeyUsageControl 1
Проверяем, что режим включен:
Выполняем перезапуск службы криптографического провайдера:
После перезапуска проверяем, что ошибок в работе провайдера с ключевыми носителями нет:
/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext
/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique
Работа с токеном JaCarta PKI
Запустим программу Xming (X11 forwarding) на своей станции, чтобы по SSH иметь возможность открывать и работать с графическими интерфейсами нужных утилит.
Athena-IDProtectClient. desktop
Athena-IDProtectManager. desktop
Это ярлыки, в которых можно посмотреть параметры запуска утилит Exec=/usr/bin/SACTools
Запустим утилиту IDProtectPINTool.
С помощью нее задаются и меняются PIN-коды доступа к токену.
При первой инициализации токена будет полезна ссылка, содержащая PIN-коды (пароли) ключевых носителей по умолчанию
Программа IDProtect_Manager позволяет просматривать информацию о токене и контейнере с ключами и сертификатом:
Для доступа к контейнеру с ключами нужно ввести пароль:
Для работы с SafeNet Authentication Client eToken PRO существуют аналогичные программы — SafeNet Authentication Client Monitor и SafeNet Authentication Client Tools, которые запускаются так:
Выполнять операции непосредственно с ключевыми контейнерами удобнее в интерфейсе криптографического провайдера КриптоПро JavaCSP:
/jdk1. 0_181/jre/bin/java ru. CryptoPro. JCP. ControlPane. MainControlPane
Для отображения информации о содержимом контейнера с ключами можно выполнить команду:
Для диагностики контейнера используется эта же команда с ключом –check
Потребуется ввести пароль от контейнера:
Программное извлечение ключей
В общем виде пример извлечения закрытого ключа и сертификата открытого ключа из контейнера на токене с помощью КриптоПро Java CSP следующий:
Если действовать так:
Key key = keyStore. getKey(keyAlias, pwd);
то криптографический провайдер будет пытаться в системе отобразить через консоль или GUI окно запрос на ввод пароля к контейнеру.
Результаты
Отторгаемый ключевой носитель-токен установлен во внутренний USB-порт сервера.
Само серверное оборудование опломбировано и размещается в помещении с ограниченным доступом.
Такие меры позволяют повысить уровень защиты наших информационных систем от кражи и компрометации ключей электронной подписи или шифрования, как удаленно по сети, так и физически.
Полезные ссылки
- Документация Aladdin-RD JaCarta
- wiki.astralinux.ru — Работа с КриптоПро CSP
- Перечень кодов ошибок объектной модели компонентов Microsoft COM Error Codes (Security and Setup)
- СКЗИ КриптоПро CSP 4.0 ФКН (Gemalto)
- Утилита диагностики считывателей pcsc-tools из проекта security:chipcard (software.opensuse.org)
- КриптоПро CSP для Linux. Настройка.
- Aladdin-RD PIN-коды (пароли) ключевых носителей по умолчанию
Онлайн курс по Kubernetes
Онлайн-курс по Kubernetes – для разработчиков, администраторов, технических лидеров, которые хотят изучить современную платформу для микросервисов Kubernetes. Самый полный русскоязычный курс по очень востребованным и хорошо оплачиваемым навыкам. Курс не для новичков – нужно пройти вступительный тест.
Если вы ответите “да” хотя бы на один вопрос, то это ваш курс:
- устали тратить время на автоматизацию?
- хотите единообразные окружения?;
- хотите развиваться и использовать современные инструменты?
- небезразлична надежность инфраструктуры?
- приходится масштабировать инфраструктуру под растущие потребности бизнеса?
- хотите освободить продуктовые команды от части задач администрирования и автоматизации и сфокусировать их на развитии продукта?
Сдавайте вступительный тест по ссылке и присоединяйтесь к новому набору!.
Помогла статья? Подписывайся на telegram канал автора
Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.
Рекомендации к использованию утилит командной строки КриптоПро
Для удобства стоит сначала сделать так, чтобы можно было запускать программы, не прописывая каждый раз путь к ним. Это можно сделать многими способами. В данном случае предлагается поступить следующим образом:
В консоли получаем права суперпользователя (набираем su и вводим пароль)
Вводим следующую команду (для указания пути всем пользователям кроме суперпользователя):
Если нужно то же самое проделать для суперпользователя, используем команду
Для проверки можно подписать и файл и проверить подпись:
Использование псевдонимов
Для часто используемых команд (например команда для перечисления контейнеров) стоит использовать простые, быстро набираемые псевдонимы. Для назначения псевдонимов нужно использовать команду alias. Для примера назначим псевдоним для команды
В консоли получаем права суперпользователя (набираем su и вводим пароль)
Вводим следующую команду:
Перезагружаемся
Пример работы можно видеть ниже.
Литература по использованию утилит командной строки
Для получения информации по остальным программам лучше использовать команду с флагом «–help» (к примеру csptest –help).
Некоторые полезные команды
Показать доверенные сайты:
cpconfig -ini “localSoftwareCrypto ProCAdESpluginTrustedSites” -view
Смена криптопровайдера по умолчанию (доступные типы и названия можно посмотреть командой cpconfig -defprov -view_type):
Узнать версию КриптоПро:
Просмотр информации о лицензии:
cpconfig -license -view