Table of Contents | ||||
---|---|---|---|---|
|
Info |
---|
Подключите Рутокен ЭЦП 2.0 к компьютеру |
Проверка работы Рутокен ЭЦП 2.0
Подключите Рутокен ЭЦП 2.0 к компьютеру.
Убедитесь в том, что на USB-токене или считывателе для смарт-карт светится индикатор.
Откройте Terminal.
Для проверки корректности работы Рутокен ЭЦП 2.0 введите команду:
Panel |
---|
$ pcsc_scan |
Если Рутокен ЭЦП 2.0 не работает, то в окне терминала отобразится сообщение об этом.
Если Рутокен ЭЦП 2.0 работает, то в окне терминала отобразится сообщение об этом.
Такое сообщение в системе ALT Linux выглядит следующим образом:
Для остановки сервиса pcscd введите команду:
Panel |
---|
$ sudo service pcscd stop |
Настройка системы
Перед началом работы, установите следующие пакеты:
Panel |
---|
sudo yum install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit |
Загрузите модуль librtpkcs11ecp.so и установите
Panel |
---|
sudo rpm -i librtpkcs11ecp_1.9.15.0-1_x86_64.rpm |
Создание ключей и сертификатов
Для начала установите engine_pkcs11.so для того, чтобы openssl смог общаться с токеном. Для этого соберите библиотеку libp11 из репозитория. Вместе с ней идет engine_pkcs11.so начиная с версии 0.4
Вы можете пропустить данный раздел, если у вас уже имеются необходимые RSA ключи
Panel |
---|
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45 |
Теперь создайте самоподписанный сертификат:
Panel |
---|
openssl |
Поместите его на токен
Panel |
---|
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -l -y cert -w cert.crt --id 45 |
Проверьте, что токен подключен и сертификаты с ключами на нем имеются.
Добавление сертификата в список доверенных
Panel |
---|
pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -O -l |
Создайте базу данных доверенных сертификатов
Panel |
---|
sudo mkdir /etc/pam_pkcs11/nssdb sudo chmod 0644 /etc/pam_pkcs11/nssdb sudo certutil -d /etc/pam_pkcs11/nssdb -N (создание базы данных) sudo modutil -dbdir /etc/pam_pkcs11/nssdb/ -add p11-kit-trust -libfile /usr/lib64/pkcs11/p11-kit-trust.so |
Выгрузите ваш сертификат с токена (если вы пользовались вышеописанной инструкцией для получения сертификата, то ID = 45)
Panel |
---|
pkcs11-tool --module=/usr/lib64/librtpkcs11ecp.so -l -r -y cert -d <ID> -o cert.crt |
Добавьте сертификат в доверенные
Panel |
---|
sudo cp cert.crt /etc/pki/ca-trust/source/anchors/ (команда вводится из директории, в которую был помещён сертификат) sudo update-ca-trust force-enable sudo update-ca-trust extract (может занять некоторое время) |
Настройка pam_pkcs11
Создайте (например, на рабочем столе) текстовый файл pam_pkcs11.conf со следующим содержимым:
Panel |
---|
pam_pkcs11 { nullok = false; debug = true; use_first_pass = false; use_authtok = false; card_only = false; wait_for_card = false; use_pkcs11_module = rutokenecp;
# Aktiv Rutoken ECP pkcs11_module rutokenecp { module = /usr/lib64/librtpkcs11ecp.so; slot_num = 0; support_thread = true; ca_dir = /etc/pam_pkcs11/cacerts; crl_dir = /etc/pam_pkcs11/crls; cert_policy = signature; }
use_mappers = subject;
mapper_search_path = /usr/lib64/pam_pkcs11;
mapper subject { debug = true; module = internal; ignorecase = false; mapfile = file:///etc/pam_pkcs11/subject_mapping; } } |
Поместите файл в каталог /etc/pam_pkcs11/:
Panel |
---|
cd /etc/pam_pkcs11/ sudo mv pam_pkcs11.conf pam_pkcs11.conf.default (резервное копирование) sudo mkdir cacerts crls sudo cp /home/<имя_пользователя>/Desktop/pam_pkcs11.conf /etc/pam_pkcs11/ |
Регистрация модуля для аутентификации в системе
Подключите модуль к системе авторизации PAM:
Panel |
---|
sudo vim /etc/pam.d/system-auth |
Добавьте туда строку со следующим содержимым:
Panel |
---|
auth sufficient pam_pkcs11.so pkcs11_module=/usr/lib64/librtpkcs11ecp.so debug |
Сохраните файл и узнайте описание вашего сертификата с помощью следующей команды:
Panel |
---|
sudo pkcs11_inspect |
На выходе вы увидите сообщение:
Скопируйте строчку с описанием сертификата в файл /etc/pam_pkcs11/subject_mapping в формате
Вывод команды pkcs11_inspect -> <имя_пользователя>
Попробуйте аутентифицироваться
Panel |
---|
su oleg |
Вывод будет примерно следующим:
Такой подробный вывод можно отключить, убрав опцию debug для pam модуля в файле конфигурации /etc/pam.d/system-auth