- Установка сертификата rutoken linux
- Определение названия модели USB-токена
- Проверка корректности подключения считывателя для смарт-карт к компьютеру
- Установка дополнительного программного обеспечения
- Если вы используете Ubuntu 22.04 LTS и новее, то необходимо включить автоматический старт службы смарт-карт
- Проверка работы Рутокен ЭЦП в системе
- Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП
- Изменение PIN-кода Рутокен ЭЦП
- Определение проблемы с Рутокен ЭЦП в системе
- Проблема «Наличие пакета OpenCT»
- Способ определения
- Решение
- Проблема «Отсутствие записей об устройстве в конфигурационном файле Info.plist»
- Способ определения
- Решение
- Настройка аутентификации
- Добавление возможности использования смарт-карт и токенов для входа в систему
- В Goslinux
- В CentOS 7
Установка сертификата rutoken linux
Устройства семейства Рутокен ЭЦП используются для безопасного хранения и предъявления персональной информации: ключей шифрования, сертификатов, лицензий, удостоверений и других данных.
Для работы с USB-токеном подключите его к USB-порту компьютера.
Для работы со смарт-картой вставьте ее в считыватель для смарт-карт и подключите считыватель к USB-порту компьютера.
Чтобы проверить корректность работы Рутокен ЭЦП в операционных системах GNU/Linux необходимо выполнить действия, указанные в данной инструкции.
Если вы используете для устройства стандартный PIN-код (12345678), то рекомендуется его изменить на более сложный.
Определение названия модели USB-токена
Если вы работаете со смарт-картой, то определять название USB-токена не надо.
Первым делом подключите USB-токен к компьютеру.
Для определения названия модели USB-токена откройте Терминал и введите команду:
В результате в окне Терминала отобразится название модели USB-токена:
Примечание: В более ранних версиях операционных систем на экране может отобразиться строка — ID 0a89:0030. Это тоже означает, что название модели подключенного USB-токена — Рутокен ЭЦП.
Проверка корректности подключения считывателя для смарт-карт к компьютеру
Если вы работаете с USB-токеном, то проверять корректность подключения считывателя к компьютеру не надо.
Первым делом подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту.
Для проверки корректности подключения считывателя для смарт-карт к компьютеру введите команду:
В результате в окне Терминала отобразится название модели считывателя для смарт-карт:
Это означает, что считыватель для смарт-карт подключен корректно.
Определить название смарт-карты и выполнить дальнейшие действия данной инструкции невозможно без предварительной установки дополнительного программного обеспечения.
Установка дополнительного программного обеспечения
В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.
Таблица 1. Список операционных систем GNU/Linux
RedHat, CentOS, Fedora, ALT Linux,
ROSA Linux, МСВС, ГосЛинукс
Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:
в deb-based системах это обычно:
в rpm-based системах это обычно:
в ALT Linux это обычно:
Также для всех типов операционных систем необходимо установить библиотеку OpenSC.
Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду:
В deb-based системах:
dpkg -s libccid libpcsclite1 pcscd pcsc-tools opensc
Если библиотека или пакет уже установлены в системе, то в разделе Status отобразится сообщение «install ok installed».
В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2).
В rpm-based системах:
sudo rpm -q ccid pcsc-lite pcsc-tools opensc
Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2).
В ALT Linux:
sudo rpm -q pcsc-lite-ccid libpcsclite pcsc-tools opensc
Если у вас нет доступа к команде sudo, то используйте команду su.
Если библиотек и пакетов еще нет на компьютере, то необходимо их установить.
Для установки пакетов и библиотек:
В deb-based системах введите команду:
sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc
Если процесс установки завершен успешно, то на экране отобразится сообщение:
Если вы используете Ubuntu 22.04 LTS и новее, то необходимо включить автоматический старт службы смарт-карт
Для этого введите следующие команды:
$ sudo systemctl enable pcscd
$ sudo systemctl enable pcscd.socket
В rpm-based системах (кроме ALT Linux) введите команду:
sudo yum install ccid pcsc-lite pcsc-tools opensc
Если процесс установки завершен успешно, то на экране отобразится сообщение:
В ALT Linux введите команду:
sudo apt-get install pcsc-lite-ccid libpcsclite pcsc-tools opensc
Если у вас нет доступа к команде sudo, то используйте команду su.
Если процесс установки завершен успешно, то на экране отобразится сообщение:
Проверка работы Рутокен ЭЦП в системе
Для проверки работы Рутокен ЭЦП:
- Подключите устройство к компьютеру.
- Введите команду:
Для USB-токена:
Значит USB-токен работает корректно.
Для смарт-карты:
Значит смарт-карта работает корректно.
Последней строкой в этих сообщениях отображается название устройства (для USB-токена — Rutoken ECP (DS), для смарт-карты — Rutoken ECP SC).
Значит Рутокен ЭЦП не работает. Для решения данной проблемы перейдите в раздел Определение проблемы в работе Рутокен ЭЦП в системе.
Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП
Перед запуском процесса проверки наличия сертификатов и ключевых пар на Рутокен ЭЦП загрузите и установите библиотеку PKCS#11, а также определите путь до библиотеки librtpkcs11ecp.so.
Для того чтобы загрузить библиотеку PKCS#11:
- Определите разрядность используемой системы:
Если в результате выполнения команды отобразится строка подобная «i686», то система является 32-разрядной. Если в результате выполнения команды отобразится строка подобная «x86_64», то система является 64-разрядной.
https://www.rutoken.ru/support/download/pkcs/
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
find /usr/*(lib|lib64) -name librtpkcs11ecp.so
Чтобы проверить наличие сертификатов и ключевых пар на Рутокен ЭЦП введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
В результате в окне Терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокен ЭЦП.
Чтобы открыть сертификат или ключевую пару скопируйте ID необходимого объекта и введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
B — ID сертификата.
В результате в окне Терминала отобразится полная информация об указанном объекте.
Чтобы скопировать сертификат в файл введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
B — ID сертификата.
C — имя файла.
Изменение PIN-кода Рутокен ЭЦП
Перед запуском процесса проверки смены PIN-кода Рутокен ЭЦП установите библиотеку PKCS#11 и определите путь до библиотеки librtpkcs11ecp.so.
Для того чтобы загрузить библиотеку PKCS#11:
- Определите разрядность используемой системы:
Если в результате выполнения команды отобразилась строка подобная «i686», то система является 32-разрядной.
Если в результате выполнения команды отобразилась строка подобная «x86_64», то система является 64-разрядной.
https://www.rutoken.ru/support/download/pkcs/
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
find /usr/*(lib|lib64) -name librtpkcs11ecp.so
Для изменения PIN-кода введите команду:
A — путь до библиотеки librtpkcs11ecp.so.
B — текущий PIN-код устройства.
C — новый PIN-код устройства.
В результате PIN-код устройства будет изменен.
Определение проблемы с Рутокен ЭЦП в системе
В данном разделе разберем две основные проблемы, которые могут возникнуть с Рутокен ЭЦП в системах GNU/Linux:
- наличие пакета OpenCT;
- отсутствие записей об устройстве в конфигурационном файле Info.plist.
Проблема «Наличие пакета OpenCT»
Способ определения
На экране после ввода команды pcsc_scan отобразилось сообщение:
Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.
- Остановите работу утилиты:
Если у вас нет доступа к команде sudo, то используйте команду su.
Значит проблема с Рутокен ЭЦП возникла из-за наличия пакета OpenCT.
Решение
Существует два способа решения данной проблемы.
1 способ. Удаление пакета OpenCT
Если пакет OpenCT необходим для работы и нет возможности его удалить, то перейдите сразу ко второму способу.
Для удаление OpenCT необходимо:
Шаг 1. Проверка наличия пакета OpenCT в системе
Для проверки наличия OpenCT в системе введите команду:
В deb-based системах:
Если пакет уже установлен, то в разделе Status отобразится сообщение «install ok installed».
В rpm-based системах:
Шаг 2. Удаление пакета OpenCT
Чтобы удалить OpenCT введите команду:
В deb-based системах:
В rpm-based системах:
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате OpenCT будет удален. После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.
2 способ. Удаление записей об устройстве в конфигурационном файле openct.conf
Для удаления записей об устройстве в конфигурационном файле необходимо:
- Открыть конфигурационный файл openct.conf.
- Удалить в конфигурационном файле необходимую строку.
- Перезагрузить сервис OpenCT.
Шаг 1. Открытие конфигурационного файла
Чтобы открыть конфигурационный файл введите команду:
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате откроется конфигурационный файл openct.conf.
Шаг 2. Удаление в конфигурационном файле необходимой строки
Для удаления в конфигурационном файле необходимой строки:
- Найдите в конфигурационном файле массив driver ccid;
- Удалите в нем сроку «usb:0a89/0030, # Aktiv Rutoken ECP».
Шаг 3. Перезапуск сервиса OpenCT
Чтобы перезапустить сервис OpenCT введите команду:
sudo service openct restart
После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.
Проблема «Отсутствие записей об устройстве в конфигурационном файле Info.plist»
Способ определения
На экране после ввода команды pcsc_scan отобразилось сообщение:
Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.
- Остановите работу утилиты:
sudo /usr/sbin/pcscd -afd | grep Rutoken
Откройте в библиотеке libccid конфигурационный файл Info.plist и проверьте наличие в нем записей об устройстве.
Для открытия конфигурационного файла Info.plist введите команду:
sudo nano /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате откроется конфигурационный файл Info.plist.
- в массиве
ifdVendorID строки0x0A89 ; - в массиве
ifdProductID строки0x0030 ; - в массиве
ifdFriendlyName строкиAktiv Rutoken ECP .
Решение
Будьте очень внимательны при работа с конфигурационным файлом Info.plist.
Добавьте недостающие строки в конфигурационный файл:
- в массиве
ifdVendorID строку0x0A89 ; - в массиве
ifdProductID строку0x0030 ; - в массиве
ifdFriendlyName строкуAktiv Rutoken ECP .
После этого следует снова проверить работу устройства в системе. Для этого перейдите в раздел Проверка работы Рутокен ЭЦП в системе.
Настройка аутентификации
Добавление возможности использования смарт-карт и токенов для входа в систему
В Goslinux
Для того, чтобы добавить возможность входа в систему с помощью смарт-карт, нужно
1. Зайти в панель настройки аутентификации
2. Включить поддержку смарт-карт
В CentOS 7
Пока удалось настроить только для оболочки KDE. Чтобы активировать введите в терминале
autoconfig --enablesmartcard
Теперь при входе в систему вы можете ввести пароль от токена если он вставлен и аутентификация пройдет успешно