$ lsusb
В результате в окне Терминала отобразится название модели USB-токена:
Убедитесь, что используете: Aktiv Rutoken ECP
sudo apt-get install libccid pcscd opensc openssl libpam-pkcs11 |
Загружаем библиотеку через браузер
https://download.rutoken.ru/Rutoken/PAM/1.0.0/x86_64/librtpam.so.1.0.0
или через Терминал
$ wget --no-check-certificate https://download.rutoken.ru/Rutoken/PAM/1.0.0/x86_64/librtpam.so.1.0.0 |
Копируем в системную папку
$ sudo cp librtpam.so.1.0.0 /usr/lib/x86_64-linux-gnu/ $ sudo chmod 644 /usr/lib/x86_64-linux-gnu/librtpam.so.1.0.0 |
Загружаем библиотеку через браузер.
Для 64-битной системы используйте ссылку:
https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x64/librtpkcs11ecp.so
Для 32-битной системы используйте ссылку:
https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x32/librtpkcs11ecp.so
или через консоль
Пуск - Утилиты - Терминал Fly
Для 64-битной системы используйте:
$ wget --no-check-certificate https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x64/librtpkcs11ecp.so |
Для 32-битной системы используйте:
$ wget --no-check-certificate https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x32/librtpkcs11ecp.so |
Копируем в системную папку
$ sudo cp librtpkcs11ecp.so /usr/lib/x86_64-linux-gnu/ $ sudo chmod 644 /usr/lib/x86_64-linux-gnu/librtpkcs11ecp.so |
В Терминале
$ pkcs11-tool --module /usr/lib/x86_64-linux-gnu/librtpkcs11ecp.so -T |
В случае если увидите вот такую строку, значит все хорошо.
Rutoken ECP <no label>
Проверяем что на устройстве есть сертификат
Откройте Терминал
$ pkcs11-tool --module /usr/lib/x86_64-linux-gnu/librtpkcs11ecp.so -O |
Если после строчки
Using slot 0 with a present token (0x0)
$ pkcs11-tool --module /usr/lib/x86_64-linux-gnu/librtpkcs11ecp.so -r -y cert --id {id} --output-file cert.crt |
В случае, если файл cert.crt создан переходим к пункту 6
Собирайте ветку pkcs11-tool с поддержкой ГОСТ-2012, или используйте релиз OpenSC 0.20.0 или новее |
Откройте Терминал
Генерируем ключевую пару с параметрами:
--key-type
: GOSTR3410-2012-512:А
(ГОСТ-2012 512 бит c парамсетом А), GOSTR3410-2012-256:A
(ГОСТ-2012 256 бит с парамсетом A)
--id
: идентификатор объекта (CKA_ID) в виде двузначных номеров символов в hex из таблицы ASCII. Используйте только ASCII-коды печатных символов, т.к. id нужно будет передать OpenSSL в виде строки. Например ASCII-кодам “3132” соответствует строка "12".
Для удобства, можно воспользоваться онлайн-сервисом конвертации строки в ASCII-коды. |
$ ./pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-512:A -l --id 3132 |
создаем самоподписанный сертификат. Для этого сначала надо установить и настроить для работы с Рутокен OpenSSL 1.1 или новее через специальный модуль rtengine
по инструкции: Установка и настройка OpenSSL для работы с rtengine 0.7.x
Чтобы использовать этот id
ключевой пары, созданной через pkcs11-tool, в OpenSSL – надо использовать hex-символы из таблицы ASCII, соответствующие этим кодам.
Для удобства, можно воспользоваться онлайн-сервисом конвертации ACSII-кодов в строку. |
Например: для ‘--id 3132
’ в OpenSSL надо указывать "pkcs11:id=12
".
$ openssl req -utf8 -x509 -keyform engine -key "pkcs11:id=12" -engine rtengine -out cert.cer |
загружаем сертификат на устройство
$ pkcs11-tool --module /usr/x86_64-linux-gnu/librtpkcs11ecp.so -l -y cert -w cert.crt --id 3132 |
Откройте Терминал
Конвертируем сертификат в текстовый формат
openssl x509 -in cert.crt -out cert.pem -inform DER -outform PEM |
mkdir ~/.eid chmod 0755 ~/.eid cat cert.pem >> ~/.eid/authorized_certificates chmod 0644 ~/.eid/authorized_certificates |
Откройте Терминал
$ sudo nano /usr/share/pam-configs/rtpam-gost |
создайте в файл с содержимым
Name: Rutoken PAM GOST Default: yes Priority: 800 Auth-Type: Primary Auth: sufficient usr/lib/x86_64-linux-gnu/librtpam.so.1.0.0 /usr/lib/x86_64-linux-gnu/librtpkcs11ecp.so |
$ sudo pam-auth-update |
в появившемся окне ставим галку в "Rutoken PAM GOST" и нажимаем OK
Откройте Терминал
$ sudo login |
введите имя пользователя и в случае если система потребует PIN-код от устройства значит все настроено правильно
В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.
Для настройки pkcs11_eventmgr служит файл конфигурации - /etc/pam_pkcs11/pkcs11_eventmgr.conf
Для различных дистрибутивов Линукс, команда которая вызывает блокировку учетной записи будет отличаться.
Пример файла конфигурации представлен ниже:
|
После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузитесь.