Общая информация
Устройства семейства Рутокен ЭЦП используются для безопасного хранения и предъявления персональной информации: ключей шифрования, сертификатов, лицензий, удостоверений и других данных.
Для работы с USB-токеном подключите его к USB-порту компьютера.
Для работы со смарт-картой вставьте ее в считыватель для смарт-карт и подключите считыватель к USB-порту компьютера.
Чтобы проверить корректность работы Рутокен ЭЦП в операционных системах GNU/Linux необходимо выполнить действия, указанные в данной инструкции.
Если вы используете для устройства стандартный PIN-код (12345678), то рекомендуется его изменить на более сложный.
Определение названия модели USB-токена
Если вы работаете со смарт-картой, то определять название USB-токена не надо.
Первым делом подключите USB-токен к компьютеру.
Для определения названия модели USB-токена откройте Терминал и введите команду:
lsusb
В результате в окне Терминала отобразится название модели USB-токена:
Примечание: В более ранних версиях операционных систем на экране может отобразиться строка — ID 0a89:0030. Это тоже означает, что название модели подключенного USB-токена — Рутокен ЭЦП.
Проверка корректности подключения считывателя для смарт-карт к компьютеру
Если вы работаете с USB-токеном, то проверять корректность подключения считывателя к компьютеру не надо.
Первым делом подключите считыватель для смарт-карт к компьютеру и вставьте в него смарт-карту.
Для проверки корректности подключения считывателя для смарт-карт к компьютеру введите команду:
lsusb
В результате в окне Терминала отобразится название модели считывателя для смарт-карт:
Это означает, что считыватель для смарт-карт подключен корректно.
Определить название смарт-карты и выполнить дальнейшие действия данной инструкции невозможно без предварительной установки дополнительного программного обеспечения.
Установка дополнительного программного обеспечения
В deb-based и rpm-based системах используются разные команды. Список систем указан в таблице 1.
Таблица 1. Список операционных систем GNU/Linux
deb-based | rpm-based |
---|---|
Debian, Ubuntu, Linux Mint, Astra Linux | RedHat, CentOS, Fedora, ALT Linux, ROSA Linux, МСВС, ГосЛинукс |
Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:
в deb-based системах это обычно:
- библиотека libccid не ниже 1.4.2;
- пакеты libpcsclite1 и pcscd;
- pcsc-tools.
в rpm-based системах это обычно:
- ccid не ниже 1.4.2;
- pcsc-lite;
- pcsc-tools.
в ALT Linux это обычно:
- pcsc-lite-ccid;
- libpcsclite;
- pcsc-tools.
Также для всех типов операционных систем необходимо установить библиотеку 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 pcsc-lite-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 и новее, то необходимо включить автоматический старт службы смарт-карт
Для этого введите следующие команды:
|
В rpm-based системах (кроме ALT Linux) введите команду:
sudo yum install pcsc-lite-ccid pcsc-lite pcsc-tools opensc
Если процесс установки завершен успешно, то на экране отобразится сообщение:
В ALT Linux введите команду:
sudo apt-get install pcsc-lite-ccid libpcsclite pcsc-tools opensc
Если у вас нет доступа к команде sudo, то используйте команду su.
Если процесс установки завершен успешно, то на экране отобразится сообщение:
Проверка работы Рутокен ЭЦП в системе
Для проверки работы Рутокен ЭЦП:
- Подключите устройство к компьютеру.
Введите команду:
pcsc_scan
- Если отобразилось следующее сообщение:
Для USB-токена:
Значит USB-токен работает корректно.
Для смарт-карты:
Значит смарт-карта работает корректно.
Последней строкой в этих сообщениях отображается название устройства (для USB-токена — Rutoken ECP (DS), для смарт-карты — Rutoken ECP SC). - Если отобразилось сообщение:
Значит Рутокен ЭЦП не работает. Для решения данной проблемы перейдите в раздел Определение проблемы в работе Рутокен ЭЦП в системе. - Нажмите комбинацию клавиш Ctrl+C.
Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП
Перед запуском процесса проверки наличия сертификатов и ключевых пар на Рутокен ЭЦП загрузите и установите библиотеку PKCS#11, а также определите путь до библиотеки librtpkcs11ecp.so.
Для того чтобы загрузить библиотеку PKCS#11:
Определите разрядность используемой системы:
uname -p
Если в результате выполнения команды отобразится строка подобная "i686", то система является 32-разрядной.
Если в результате выполнения команды отобразится строка подобная "x86_64", то система является 64-разрядной.
- Перейдите по указанной ссылке и выберите необходимую версию:
https://www.rutoken.ru/support/download/pkcs/
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
find /usr/*(lib|lib64) -name librtpkcs11ecp.so
Чтобы проверить наличие сертификатов и ключевых пар на Рутокен ЭЦП введите команду:
pkcs11-tool --module {A} -O
A — путь до библиотеки librtpkcs11ecp.so.
В результате в окне Терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокен ЭЦП.
Чтобы открыть сертификат или ключевую пару скопируйте ID необходимого объекта и введите команду:
pkcs11-tool --module {A} -r -y cert --id{B
}
| openssl x509 -inform der -text
A — путь до библиотеки librtpkcs11ecp.so.
B — ID сертификата.
В результате в окне Терминала отобразится полная информация об указанном объекте.
Чтобы скопировать сертификат в файл введите команду:
pkcs11-tool --module
{A} -r -y cert --
id
{B
} > ./{C}
A — путь до библиотеки librtpkcs11ecp.so.
B — ID сертификата.
C — имя файла.
Изменение PIN-кода Рутокен ЭЦП
Перед запуском процесса проверки смены PIN-кода Рутокен ЭЦП установите библиотеку PKCS#11 и определите путь до библиотеки librtpkcs11ecp.so.
Для того чтобы загрузить библиотеку PKCS#11:
Определите разрядность используемой системы:
uname -p
Если в результате выполнения команды отобразилась строка подобная "i686", то система является 32-разрядной.
Если в результате выполнения команды отобразилась строка подобная "x86_64", то система является 64-разрядной.
- Перейдите по указанной ссылке и выберите необходимую версию:
https://www.rutoken.ru/support/download/pkcs/
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
find /usr/*(lib|lib64) -name librtpkcs11ecp.so
Для изменения PIN-кода введите команду:
pkcs11-tool --module {A} --login --pin {B} --change-pin --new-pin {C}
A — путь до библиотеки librtpkcs11ecp.so.
B — текущий PIN-код устройства.
C — новый PIN-код устройства.
В результате PIN-код устройства будет изменен.
Определение проблемы с Рутокен ЭЦП в системе
В данном разделе разберем две основные проблемы, которые могут возникнуть с Рутокен ЭЦП в системах GNU/Linux:
- наличие пакета OpenCT;
- отсутствие записей об устройстве в конфигурационном файле Info.plist.
Проблема "Наличие пакета OpenCT"
Способ определения
На экране после ввода команды pcsc_scan отобразилось сообщение:
Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему.
Для определения проблемы:
Остановите работу утилиты:
sudo service pcscd stop
Запустите pcscd вручную в отладочном режиме:
sudo /usr/sbin/pcscd -afd
Если у вас нет доступа к команде sudo, то используйте команду su.
- Если на экране отобразилось следующее сообщение:
Значит проблема с Рутокен ЭЦП возникла из-за наличия пакета OpenCT.
Решение
Существует два способа решения данной проблемы.
1 способ. Удаление пакета OpenCT
Если пакет OpenCT необходим для работы и нет возможности его удалить, то перейдите сразу ко второму способу.
Для удаление OpenCT необходимо:
- Проверить наличие пакета в системе.
- Удалить пакет.
Шаг 1. Проверка наличия пакета OpenCT в системе
Для проверки наличия OpenCT в системе введите команду:
В deb-based системах:
dpkg -s openct
Если пакет уже установлен, то в разделе Status отобразится сообщение "install ok installed".
В rpm-based системах:
rpm -q openct
Шаг 2. Удаление пакета OpenCT
Чтобы удалить OpenCT введите команду:
В deb-based системах:
sudo dpkg -r openct
В rpm-based системах:
sudo rpm -e openct
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате OpenCT будет удален. После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе.
2 способ. Удаление записей об устройстве в конфигурационном файле openct.conf
Для удаления записей об устройстве в конфигурационном файле необходимо:
- Открыть конфигурационный файл openct.conf.
- Удалить в конфигурационном файле необходимую строку.
- Перезагрузить сервис OpenCT.
Шаг 1. Открытие конфигурационного файла
Чтобы открыть конфигурационный файл введите команду:
sudo nano /etc/openct.conf
Если у вас нет доступа к команде 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 service pcscd stop
Если у вас нет доступа к команде sudo, то используйте команду su.
Запустите pcscd вручную в отладочном режиме и осуществите поиск строки "Rutoken":
sudo /usr/sbin/pcscd -afd | grep Rutoken
- Если в результате выполнения команды в окне Терминала хоть один раз отобразится строка "Rutoken", то проблема не связана с отсутствием строк в конфигурационном файле Info.plist. Это означает то, что дальнейшие действия данного раздела не следует выполнять.
- Если в результате выполнения команды отобразилась пустая строка, то проблема связана с отсутствием строк в конфигурационном файле Info.plist. Это означает, что следует выполнить дальнейшие действия данного раздела.
Откройте в библиотеке libccid конфигурационный файл Info.plist и проверьте наличие в нем записей об устройстве.
Для открытия конфигурационного файла Info.plist введите команду:
sudo nano /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
Если у вас нет доступа к команде sudo, то используйте команду su.
В результате откроется конфигурационный файл Info.plist.
Проверьте наличие строк:
в массиве <key>ifdVendorID</key> строки <string>0x0A89</string>;
- в массиве <key>ifdProductID</key> строки <string>0x0030</string>;
в массиве <key>ifdFriendlyName</key> строки <string>Aktiv Rutoken ECP</string>.
Решение
Будьте очень внимательны при работа с конфигурационным файлом Info.plist.
Добавьте недостающие строки в конфигурационный файл:
в массиве <key>ifdVendorID</key> строку <string>0x0A89</string>;
- в массиве <key>ifdProductID</key> строку <string>0x0030</string>;
в массиве <key>ifdFriendlyName</key> строку <string>Aktiv Rutoken ECP</string>.
После этого следует снова проверить работу устройства в системе. Для этого перейдите в раздел Проверка работы Рутокен ЭЦП в системе.