Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Проверка модели устройства

  1. Подключите USB-токен к компьютеру.
  2. Для определения названия модели USB-токена откройте Терминал и введите команду:
$ lsusb 

В результате в окне Терминала отобразится название модели USB-токена:

Убедитесь, что используете: Aktiv Rutoken ECP

Нам понадобится Rutoken ECP, отформатированный через Панель управления Рутокен. В качестве дистрибутива использовалась Ubuntu-12.10-desktop-i386.

Общий порядок действий

1. Устанавливаем необходимые пакеты:

 $ sudo apt-get install opensc  libpam-p11 libengine-pkcs11-openssl

При установке opensc также устанавливаются пакеты libccid и pcscd, а при установке libpam-p11 – пакет libp11-2.

2. Библиотеку librtpkcs11ecp.so помещаем в директорию /usr/lib/.

3. Аналогично действиям в приведенной выше статье создаем файл /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

4. Выполняем команду:

$ sudo pam-auth-update

В появившемся диалоге выбираем Pam_p11.

Использование существующего сертификата

Если вы желаете использовать сертификат RSA, который уже записан на ваш токен/смарт-карту, то на данном этапе перейдите к указаниям в приложении к данной инструкции (в самом низу данной страницы).

5. Переходим к созданию ключевой пары:

$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45

Утилита pkcs11-tool входит в состав opensc.

Параметры, задаваемые в этой строке:

--module <arg>путь к библиотеке pkcs11 (обязательный параметр)
--keypairgen
генерация ключевой пары
-- key-type <arg>задает тип и длину ключа. В нашем случае тип – rsa, длина - 2048 бит (с длиной ключа 1024 бит возникают проблемы)
-l запрос PIN-кода токена до каких-либо операций с ним (обязательный параметр)
--id <arg>

определяет id создаваемого объекта (понадобится при создании сертификата)

6. Переходим к созданию сертификата. 

Запускаем openssl и подгружаем модуль поддержки pkcs11:

$ 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

7. Создаем сертификат в PEM-формате:

 OpenSSL>  req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out cert.pem  -text

Здесь:

-key указывает закрытый ключ (в нашем случае 0:45 – слот:ID ключа)
-x509 
выдает самоподписанный сертификат

8. Конвертируем сертификат PEM в CRT:

OpenSSL> x509 -in cert.pem -out cert.crt -outform DER

9. Закрываем openssl. Теперь сохраняем сертификат CRT на Рутокен:

$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w cert.crt --id 45

Здесь:

-y <arg>тип объекта (может быть cert, privkey, pubkey, data)
-w <arg>
записать объект на токен

10. Остается только добавить сертификат PEM в список доверенных:

$ mkdir ~/.eid
$ chmod 0755 ~/.eid
$ less ~/cert.pem >> ~/.eid/authorized_certificates
$ chmod 0644 ~/.eid/authorized_certificates

11. На этом настройка закончена. После перезапуска ОС окно входа в систему будет выглядеть так:

Приложение: настройка аутентификации с имеющимся сертификатом

Если у вас уже имеется выписанная на токен ключевая пара RSA с привязанным к ней сертификатом, то вы можете использовать их для аутентификации в Ubuntu.

Рекомендуемая длина ключа RSA - не ниже 2048 бит.

  1. Выполните перезагрузку.


  • No labels