1 Доустанавливаем необходимые пакеты с диска
Пуск - Настройки - Менеджер пакетов
через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:
- libccid
- pcscd
- libpam-p11
- libp11-2
- libengine-pkcs11-openssl
- opensc
2 Добавляем библиотеку librtpkcs11ecp.so
Загружаем библиотеку через браузер
https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x64/rtpkcs11ecp/librtpkcs11ecp.so
или через консоль
Пуск - утилиты - Терминал Fly
$ wget --no-check-certificate https://download.rutoken.ru/Rutoken/PKCS11Lib/Current/Linux/x64/rtpkcs11ecp/librtpkcs11ecp.so
Копируем в системную папку
$ sudo cp librtpkcs11ecp.so /usr/lib $ sudo chmod 644 /usr/lib/librtpkcs11ecp.so
3 Проверяем что Рутокен ЭЦП работает в системе
Пуск - утилиты - Терминал Fly\
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
В случае если увидите вот такую строку, значит все хорошо.
Rutoken ECP <no label>
4 Считываем сертификат
Проверяем что на устройстве есть сертификат
Пуск - утилиты - Терминал Fly
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
Если после строчки
Using slot 0 with a present token (0x0)
нет ничего, значит устройство пустое. Обратитесь к администратору или создайте ключи и сертификат самостоятельно следуя пункту 4.1
Если после строчки
Using slot 0 with a present token (0x0)
выводится информация о ключах и сертификатах то необходимо считать сертификат
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert --id {id} > cert.crt
вместо {id} нужно подставить ID который вы увидите в выводе команды
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
В случае, если файл cert.crt создан переходим к пункту 5
4.1 Создаем самоподписанный сертификат
Пуск - утилиты - Терминал Fly
генерируем ключевую пару
$ pkcs11-tool --module
/usr/lib/librtpkcs11ecp
.so --keypairgen --key-
type
rsa:2048 -l --
id
45
создаем самоподписанный сертификат
$ openssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/engines/engine_pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/librtpkcs11ecp.so
OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out cert.crt -outform DER
загружаем сертификат на устройство
$ pkcs11-tool --module
/usr/lib/librtpkcs11ecp
.so -l -y cert -w cert.crt --
id
45
5 Регистрируем сертификат в системе
Пуск - утилиты - Терминал Fly
Конвертируем сертификат в текстовый формат
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
6 Настраиваем аутентификацию
Пуск - утилиты - Терминал Fly
$ sudo nano /usr/share/pam-configs/p11
записываем в файл следующую информацию
Name: Pam_p11
Default: yes
Priority: 800
Auth-Type: Primary
Auth: sufficient pam_p11_opensc.so /usr/lib/librtpkcs11ecp.so
$ sudo pam-auth-update
в появившемся окне ставим галку в Pam_p11 и нажимаем OK
7 Проверка
Пуск - утилиты - Терминал Fly
$ sudo login
введите имя пользователя и в случае если система потребует PIN-код от устройства значит все настроено правильно