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 29 Next »

Установка


Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:

  • библиотека libccid, librtpkcs11ecp.so;
  • пакеты libpcsclite1 и pcscd;
  • pcsc-tools
  • opensc

    pcsc-tools

    устанавливается из пакетов по ссылкам ниже

    libpcsc-perl pcsc-tools_1.4.27-1_amd64.deb

Для установки в терминале введите команду:

$ sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc

Для установки библиотеки librtpkcs11ecp.so следует перейти по указанной ссылке и скачать необходимую версию:
https://www.rutoken.ru/support/download/pkcs/

dpkg -i librtpkcs11ecp_1.8.2.0-1_amd64.deb



Проверка работы Рутокен в системе


Для проверки работы Рутокена:
Подключите устройство к компьютеру.

Способ №1

Введите команду: $ pcsc_scan


Способ №2

Введите команду: #pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T


путь до библиотеки librtpkcs11ecp.so может различаться

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
$ find /usr/*(lib|lib64) -name librtpkcs11ecp.so


Изменение PIN-кода Рутокен


Для изменения pin-кода Рутокена введите команду:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --pin ваш_старый_пин --change-pin --new-pin ваш_новый_пин
После чего система оповестит Вас о том, что PIN-код успешно изменен:
Using slot 0 with a present token (0x0)
PIN successfully changed 



Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП


Проверка

Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:
#pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O

В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене:

Using slot 0 with a present token (0x0)

Public Key Object; RSA 2048 bits
  label:      Test
  ID:         45
  Usage:      encrypt, verify, wrap

Certificate Object, type = X.509 cert
  label:  Test
  ID:     45

Если после строчки выводится информация о ключах и сертификатах, то необходимо считать сертификат:

Извлечение сертификата из токена

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -r -y cert  --id {id} > название_вашего_сертификата.crt

вместо {id} нужно подставить ID который вы увидите в выводе команды


Если после строчки 

Using slot 0 with a present token (0x0) 

нет ничего, значит устройство пустое. Следует обратиться к администратору или создать ключи и сертификат самостоятельно.

Создание самоподписанного сертификата

Для генерации ключевой пары в терминале следует ввести команду:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --label "название_ключа" --keypairgen --key-type rsa:2048 -l --id 45


Для создания самоподписанного сертификата в терминале следует ввести команду:

$ openssl

OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1  -pre LOAD -pre MODULE_PATH:/usr/lib/librtpkcs11ecp.so

(dynamic) Dynamic engine loading support
[Success]: SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so
[Success]: ID:pkcs11
[Success]: LIST_ADD:1
[Success]: LOAD
[Success]: MODULE_PATH:/usr/lib/librtpkcs11ecp.so
Loaded: (pkcs11) pkcs11 engine

OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out название_вашего_сертификата.crt -outform DER
engine "pkcs11" set.
Enter PKCS#11 token PIN for Rutoken ECP <no label>:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Moscow
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Rusbitech   
Organizational Unit Name (eg, section) []: Astra
Common Name (e.g. server FQDN or YOUR name) []:Makhmadiev Shuhrat
Email Address []:shuhrat@astralinux.ru

OpenSSL> exit


Путь до библиотеки pkcs11.so может отличаться

Создав свой личный сертификат, его следует загрузить на рутокен:

Загрузка сертификата на токен

$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w название_вашего_сертификата.crt -a "Имя_сертификата_в_токене" --id 45

Проверка ключей и сертификатов в Рутокене:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O


Using slot 0 with a present token (0x0)
Public Key Object; RSA 2048 bits
  label:      название_ключа
  ID:         45
  Usage:      encrypt, verify, wrap
Certificate Object, type = X.509 cert
  label:      имя_сертификата_в_токене
  ID:         45


Локальная аутентификация в Astra Linux по Рутокену


Установка дополнительный пакетов

Пуск - Настройки - Менеджер пакетов

через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты: 

  • libccid
  • pcscd
  • libpam-p11
  • libpam-pkcs11
  • libp11-2
  • libengine-pkcs11-openssl
  • opensc


Либо воспользовавшись терминалом FLY:

$ sudo apt-get install opensc libengine-pkcs11-openssl libp11-2 libpam-pkcs11 libpam-p11 pcscd libccid

Регистрация сертификата в системе

Конвертируем сертификат в текстовый формат

OpenSSL> x509 -in название_вашего_сертификата.crt -out cert.pem -inform DER -outform PEM


Добавляем сертификат в список доверенных сертификатов

Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов:
mkdir ~/.eid
chmod 0755 ~/.eid
pkcs15-tool -r <certificate_id, в нашем случае 45 без скобок> > ~/.eid/authorized_certificates
chmod 0644 ~/.eid/authorized_certificates

Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:
mkdir /home/user/.eid
chmod 0755 /home/user/.eid
pkcs15-tool -r <certificate_id> > /home/user/.eid/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates


Важно помнить, что при регистрации нескольких токенов на одном компьютере, необходимо указывать пользователям раличные id.


Настраиваем аутентификацию 

Пуск - утилиты - Терминал 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/x86_64-linux-gnu/opensc-pkcs11.so


сохраняем файл, нажимаем Alt + X, а затем Y
после этого выполняем

 

$ sudo pam-auth-update

 

в появившемся окне ставим галку в Pam_p11 и нажимаем OK

Проверка

Пуск - утилиты - Терминал Fly

$ sudo login

Вход выполняется с подключенным токеном к компьютеру. При графическом входе в поле Login вводится имя пользователя, в поле Password вводится <PIN пользователя>. При консольном входе все аналогично, только в момент ввода пароля будет сообщено, что требуется <PIN пользователя>.

Блокировка компьютера при извлечении токена

В состав пакета libpam-pkcs11 входит утилита pkcs11_eventmgr, которая позволяет выполнять различные действия при возникновении событий PKCS#11.

Для настройки pkcs11_eventmgr служит файл конфигурации - /etc/pam_pkcs11/pkcs11_eventmgr.conf

Пример файла конфигурации представлен ниже:

pkcs11_eventmgr
{
    # Запуск в бэкграунде
    daemon = true;
     
    # Настройка сообщений отладки
    debug = false;
 
    # Время опроса в секундах
    polling_time = 1;
 
    # Установка тайм-аута на удаление карты
    # По-умолчанию 0
    expire_time = 0;
 
    # Выбор pkcs11 библиотеки для работы с Рутокен
    pkcs11_module = /usr/lib/librtpkcs11ecp.so;
 
    # Действия с картой
    # Карта вставлена:
    event card_insert {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore ;
 
        action = "/bin/false";
    }
 
    # Карта извлечена
    event card_remove {
        on_error = ignore;
         
        # Вызываем функцию блокировки экрана
        action = "fly-wmfunc FLYWM_LOCK";
    }
 
    # Карта долгое время извлечена
    event expire_time {
        # Оставляем значения по умолчанию (ничего не происходит)
        on_error = ignore;
 
        action = "/bin/false";
    }
}

После этого добавьте приложение pkcs11_eventmgr в автозагрузку и перезагрузитесь.


Очистка всех данных с Рутокена


Для очистки всех данных воспользуйтесь командой:

pkcs15-init --erase-card

pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk ""
pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk "" --so-pin "87654321" --finalize


ПО для Рутокен Web


Плагин Рутокен Web позволяет браузеру опознавать устройство и работать с ним. С помощью инструмента администрирования можно просмотреть содержимое USB-токена Рутокен Web,
 сменить PIN-, и PUK- коды, а также код восстановления. Для того чтобы установить плагин Рутокен Web, необходимо загрузить соответствующий установочный файл,
запустить его и следовать указаниям на экране. После завершения процесса установки необходимо подключить USB-токен в свободный USB-порт компьютера.



Дополнительные источники информации


При возникновении вопроса, на который вам не удалось найти ответ в этой инструкции, рекомендуем
обратиться к следующим дополнительным источникам информации:


https://rutoken.ru

Веб-сайт содержит большой объем справочной информации об устройствах Рутокен.


https://dev.rutoken.ru
Портал разработчиков содержит техническую информацию об устройствах Рутокен и руководства по
их интеграции.База знаний

https://kb.rutoken.ru/display/kb
База знаний содержит инструкции по решению большинства ошибок, полезные статьи и ответы на
часто задаваемые вопросы. Здесь вы можете найти нужную информацию по ключевым словам.

https://forum.rutoken.ru
Форум содержит ответы на вопросы пользователей. Здесь вы можете задать свой вопрос
разработчикам и сотрудникам службы технической поддержки Рутокен.


Служба технической поддержки Рутокен:
https://www.rutoken.ru/support/feedback
сервис диагностики:
https://help.rutoken.ru
e-mail:
hotline@rutoken.ru
тел.: +7 495 925-77-90





  • No labels