- Драйверы для *nix
- Введение
- Стенд
- Проверка модели токена
- Общий порядок действий
- 1 Устанавливаем необходимые пакеты и их зависимости:
- 2 Скачиваем и устанавливаем пакет для вашей системы
- 3 Проверяем работу токена или смарт-карты
- 4 Создаем ключевую пару
- 5 Создаем сертификат в формате PEM
- 6 Конвертируем сертификат из формата PEM в формат CRT (DER)
- 7 Сохраняем сертификат на аутентифицирующий носитель
- 8 Проверяем, что на токене есть всё, что необходимо
- 10 Редактируем конфигурацию аутентификации в системе
- 11 Редактируем конфигурацию pam_pkcs11
- 12 Добавляем связку сертификата на токене с пользователем системы ALT Linux.
- 13 Проверяем выполненные настройки
- 14 Настройка завершена!
- 15 Другие пользователи
- Aktiv rutoken ecp linux
- Определение названия модели USB-токена
- Проверка корректности подключения считывателя для смарт-карт к компьютеру
- Установка дополнительного программного обеспечения
- Проверка работы Рутокен ЭЦП в системе
- Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП
- Изменение PIN-кода Рутокен ЭЦП
- Определение проблемы с Рутокен ЭЦП в системе
- Проблема «Наличие пакета OpenCT»
- Способ определения
- Решение
- Проблема «Отсутствие записей об устройстве в конфигурационном файле Info.plist»
- Способ определения
- Решение
Драйверы для *nix
С инструкциями и техническими рекомендациями по использованию продуктов и программного обеспечения Рутокен можно ознакомиться в разделе Документация .
Для работы электронных идентификаторов Рутокен в deb-based системе должны быть установлены: библиотека libccid не ниже 1.4.2, пакеты pcscd и libpcsclite1.
Для работы в RPM-based системе должны быть установлены: пакеты ccid, pcscd и pcsc-lite.
Драйверы для Рутокен ЭЦП в современных операционных системах GNU\Linux не требуются (версия libccid не ниже 1.4.2). Пользователям стабильных или устаревших дистрибутивов может потребоваться внести изменения в конфигурационный файл.
Драйверы для Рутокен Lite в современных операционных системах GNU\Linux не требуются (версия libccid не ниже 1.4.2). Пользователям стабильных или устаревших дистрибутивов может потребоваться внести изменения в конфигурационный файл.
Необходимо загрузить установочный скрипт, запустить его и следовать указаниям установщика. После завершения процесса установки необходимо подключить Рутокен S в свободный USB-порт.
Обратите внимание
Если для работы с Рутокен используется виртуальная ОС MS Windows, запущенная на компьютере c GNU/Linux, то устанавливать драйверы Рутокен для Linux необязательно.
Драйвер Рутокен S для GNU/Linux также доступен в исходных кодах, которые можно загрузить здесь .
Источник
Введение
В данной инструкции описывается, как настроить модуль pam_pkcs11 для работы с библиотекой librtpkcs11ecp.so .
Стенд
Нам понадобится токен или смарт-карта семейства Рутокен ЭЦП, отформатированные через Панель управления Рутокен.
Настройки для токена и смарт-карты идентичны.
Проверка модели токена
- Подключите USB-токен к компьютеру.
- Для определения названия модели USB-токена откройте Терминал и введите команду:
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь, что используете: Aktiv Rutoken ECP
Если вы используете смарт-карту Рутокен, то проверку проходить не требуется.
Общий порядок действий
1 Устанавливаем необходимые пакеты и их зависимости:
Для этого вы можете воспользоваться Терминалом:
$ sudo apt-get install opensc pam_pkcs11 pcsc-lite-ccid openssl-engine_pkcs11
Или из меню запустить Приложения — Системные — Программа управления пакетами Synaptic и используя быстрый поиск выбрать для установки пакеты:
- opensc,
- pam_pkcs11,
- pcsc-lite-ccid,
- openssl-engine_pkcs11.
2 Скачиваем и устанавливаем пакет для вашей системы
Если установка завершилась корректно, то в папке /usr/lib (или /usr/lib64) появится библиотека librtpkcs11ecp.so.
3 Проверяем работу токена или смарт-карты
Подключаем токен или смарт-карту к компьютеру. Запускаем dmesg и убедимся в том, что устройство определилось корректно.
Для 32-битной версии используйте команду:
Для 64-битной версии используйте команду:
4 Создаем ключевую пару
Если у вас уже имеется выписанная на токен ключевая пара RSA с привязанным к ней сертификатом, то вы можете использовать их для аутентификации.
Рекомендуемая длина ключа RSA — не ниже 2048 бит.
Действуйте по основной инструкции, пропустив шаги 4-8.
Внимание! При выполнении команды запрашивается PIN-код пользователя. Генерация ключевой пары может занять некоторое время.
Для 32-битной версии используйте команду:
$ pkcs11-tool —module /usr/lib/librtpkcs11ecp.so —keypairgen —key-type rsa:2048 -l —id 45
Для 64-битной версии используйте команду:
$ pkcs11-tool —module /usr/lib64/librtpkcs11ecp.so —keypairgen —key-type rsa:2048 -l —id 45
Утилита pkcs11-tool входит в состав opensc .
Параметры, задаваемые в этой строке:
—module | путь к библиотеке pkcs11 (обязательный параметр) | |||||
генерация ключевой пары | ||||||
— key-type | задает тип и длину ключа. В нашем случае тип – rsa, длина — 2048 бит (с длиной ключа 1024 бит возникают проблемы) | |||||
-l | запрос PIN-кода токена до каких-либо операций с ним (обязательный параметр) | |||||
—id определяет id создаваемого объекта (понадобится при создании сертификата) 5 Создаем сертификат в формате PEMЗапускаем openssl и подгружаем модуль поддержки pkcs11: Для 32-битной версии используйте команду: Для 64-битной версии используйте команду: Создаем сертификат в PEM-формате. Внимание! При выполнении этой команды запрашивается PIN-код пользователя. OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out cert.pem -text
6 Конвертируем сертификат из формата PEM в формат CRT (DER)OpenSSL> x509 — in cert.pem -out cert.crt -outform DER 7 Сохраняем сертификат на аутентифицирующий носительЗакрываем openssl (используя команду exit). Cохраняем сертификат CRT на Рутокен. Внимание! При выполнении этой команды запрашивается PIN-код пользователя. Для 32-битной версии используйте команду: $ pkcs11-tool —module /usr/lib/librtpkcs11ecp .so -l -y cert -w cert.crt — id 45 Для 64-битной версии используйте команду: $ pkcs11-tool —module /usr/lib64/librtpkcs11ecp .so -l -y cert -w cert.crt — id 45
8 Проверяем, что на токене есть всё, что необходимоВнимание! При выполнении команды запрашивается PIN-код пользователя. Для 32-битной версии используйте команду: $ pkcs11-tool —module /usr/lib/librtpkcs11ecp .so -O -l Для 64-битной версии используйте команду: $ pkcs11-tool —module /usr/lib64/librtpkcs11ecp .so -O -l 9 Включаем аутентификацию по внешнему носителю Потребуются права суперпользователя: # rm /etc/pam.d/system-auth на вопрос об удалении ссылки следует ответить «y» 10 Редактируем конфигурацию аутентификации в системеОтредактируем первую строку файла конфигурации /etc/pam.d/system-auth. Внимание, приведенная ниже конфигурация является примером, а не эталоном настройки системы. Для редактирования можно воспользоваться редактором pluma Для 32-битной версии используйте строку: auth [success=1 default=ignore] pam_pkcs11.so pkcs11_module= /usr/lib/librtpkcs11ecp .so Для 64-битной версии используйте строку: auth [success=1 default=ignore] pam_pkcs11.so pkcs11_module= /usr/lib64/librtpkcs11ecp .so 11 Редактируем конфигурацию pam_pkcs11Отредактируем файл /etc/security/pam_pkcs11/pam_pkcs11.conf Внимание, приведенная ниже конфигурация является примером, а не эталоном настройки системы. Для редактирования можно воспользоваться редактором pluma Для 32-битной версии используйте: Для 64-битной версии замените строку mapper_search_path = /lib/pam_pkcs11; на строку mapper_search_path = /lib64/pam_pkcs11; 12 Добавляем связку сертификата на токене с пользователем системы ALT Linux.Добавляем сертификат в список доверенных сертификатов /.eid /.eid /.eid /authorized_certificates 13 Проверяем выполненные настройкиПроверьте, что настройка была выполнена верно, используя команду login. Не завершайте свою сессию, пока не убедитесь в том, что все работает корректно. Если команда login выполняется успешно, то вы можете завершать свою сессию и использовать аутентификацию по токенам и смарт-картам Rutoken. В случае возникновения ошибок еще раз проверьте все настройки. Для выявления проблемы вы так же можете включить вывод дополнительной информации при аутентификации.
Не забудьте отключить вывод дополнительной информации после настройки системы. 14 Настройка завершена!На этом настройка закончена. После перезапуска ОС окно входа в систему будет выглядеть так: 15 Другие пользователиПри необходимости добавить вход по токену для других пользователей следует: 1) Настроить другие токены аналогичным образом. Это рекомендуемый способ, так как политика «один токен — один пользователь», является предпочтительной. 2) Выписать другую пару ключей и сертификат на тот же токен. (иногда бывает удобно для периодической работы из под суперпользователя) В обоих случаях в файле subject_mapping должно оказаться две (или несколько) записей. Источник Aktiv rutoken ecp 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 Debian, Ubuntu, Linux Mint, RedHat, CentOS, Fedora, ALT Linux, ROSA Linux, МСВС, ГосЛинукс Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение: в deb-based системах это обычно:
в rpm-based системах это обычно: в ALT Linux это обычно: Также для всех типов операционных систем необходимо установить библиотеку OpenSC. Перед установкой библиотек и пакетов проверьте их наличие в системе. Для этого введите команду: В deb-based системах: Если библиотека или пакет уже установлены в системе, то в разделе Status отобразится сообщение «install ok installed». В разделе Version отобразится версия указанной библиотеки или пакета (версия библиотеки libccid должна быть выше чем 1.4.2). В rpm-based системах: Если библиотека или пакет уже установлены в системе, то на экране отобразятся их названия и номера версий (версия библиотеки ccid должна быть выше чем 1.4.2). В ALT Linux: Если у вас нет доступа к команде sudo, то используйте команду su. Если библиотек и пакетов еще нет на компьютере, то необходимо их установить. Для установки пакетов и библиотек: В deb-based системах введите команду: Если процесс установки завершен успешно, то на экране отобразится сообщение: В rpm-based системах (кроме ALT Linux) введите команду: Если процесс установки завершен успешно, то на экране отобразится сообщение: В ALT Linux введите команду: Если у вас нет доступа к команде 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 введите команду: Чтобы проверить наличие сертификатов и ключевых пар на Рутокен ЭЦП введите команду: 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 введите команду: Для изменения PIN-кода введите команду: A — путь до библиотеки librtpkcs11ecp.so. B — текущий PIN-код устройства. C — новый PIN-код устройства. В результате PIN-код устройства будет изменен. Определение проблемы с Рутокен ЭЦП в системеВ данном разделе разберем две основные проблемы, которые могут возникнуть с Рутокен ЭЦП в системах GNU/Linux:
Проблема «Наличие пакета OpenCT»Способ определенияНа экране после ввода команды pcsc_scan отобразилось сообщение: Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему. Для определения проблемы: Остановите работу утилиты: Запустите pcscd вручную в отладочном режиме: Если у вас нет доступа к команде 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Для удаления записей об устройстве в конфигурационном файле необходимо:
Шаг 1. Открытие конфигурационного файла Чтобы открыть конфигурационный файл введите команду: Если у вас нет доступа к команде sudo, то используйте команду su. В результате откроется конфигурационный файл openct.conf. Шаг 2. Удаление в конфигурационном файле необходимой строки Для удаления в конфигурационном файле необходимой строки:
Шаг 3. Перезапуск сервиса OpenCT Чтобы перезапустить сервис OpenCT введите команду: После этого следует снова проверить работу устройства в системе. Для этого повторите процедуру Проверка работы Рутокен ЭЦП в системе. Проблема «Отсутствие записей об устройстве в конфигурационном файле Info.plist»Способ определенияНа экране после ввода команды pcsc_scan отобразилось сообщение: Это означает, что Рутокен ЭЦП не работает в системе и следует определить проблему. Для определения проблемы: Остановите работу утилиты: Если у вас нет доступа к команде sudo, то используйте команду su. Запустите pcscd вручную в отладочном режиме и осуществите поиск строки «Rutoken»:
Откройте в библиотеке libccid конфигурационный файл Info.plist и проверьте наличие в нем записей об устройстве. Для открытия конфигурационного файла Info.plist введите команду: Если у вас нет доступа к команде sudo, то используйте команду su. В результате откроется конфигурационный файл Info.plist. Проверьте наличие строк: в массиве ifdVendorID строки 0x0A89 ; в массиве ifdFriendlyName строки Aktiv Rutoken ECP . РешениеБудьте очень внимательны при работа с конфигурационным файлом Info.plist. Добавьте недостающие строки в конфигурационный файл: в массиве ifdVendorID строку 0x0A89 ; в массиве ifdFriendlyName строку Aktiv Rutoken ECP . После этого следует снова проверить работу устройства в системе. Для этого перейдите в раздел Проверка работы Рутокен ЭЦП в системе. Источник |