Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Removed

Оглавление
outlinetrue

Какие Рутокены работают с Astra Linux

...



Поддерживаемые модели  токенов Рутокен


  • Рутокен S– модель для

...

  • хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро,

...

  • VipNet и других.

...

  • Сертифицирована ФСТЭК. Для работы требуется установить драйвер https://www.rutoken.ru/support/download/get/rtDrivers-x64-deb.html;

  • Рутокен Lite – упрощенная модель для хранения контейнеров ГОСТ-криптопровайдеров: КриптоПро,

...

  • VipNet и других.

...

  • Сертифицирована ФСТЭК. Не имеет встроенного криптопровайдера. Поддерживает стандарт PKCS #15 используя интерфейс CCID и не требует установки дополнительных драйверов (поддерживается без использования дополнительных драйверов начиная с Astra Linux Special Edition x.7 с установленным обновлением БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1);

  •  Рутокен ЭЦП 2.0

...

  • – высокопроизводительная модель со встроенным криптопровайдером. Формирует квалифицированную электронную подпись (КЭП) при помощи сертифицированной реализации российских криптографических алгоритмов непосредственно в самом чипе устройстве, что повышает безопасность использования ЭП — ключ подписи никогда не покидает токен, его невозможно использовать

...

  • без

...

  • наличия токена. Работает с алгоритмами ГОСТ 2012.

...

  • Сертифицирована ФСБ и ФСТЭК.

...

  • Используется в системе ЕГАИС с 2016 года

...

  • ;

  • Рутокен ЭЦП PKI и Рутокен ЭЦП 3.0

См. также информацию производителя

...

...

...

Проверка электронной подписи в Astra Linux

...

...

С помощью токенов, кроме двухфакторной аутентификации, можно проверять

...

подписи документов

...

:

Для Рутокен Lite/S

...

подпись документа можно проверить с помощью:

  1. КриптоАРМ ГОСТ.
  2. Утилиту csptestf из состава КриптоПро CSP.

...

  1. Подробнее см. Работа с КриптоПро CSP.

Для Рутокен ЭЦП 2.0

...

подпись документа можно проверить

...

с помощью:

...

...

  1. +

...

...

  1. .
  2. OpenSSL + Рутокен engine.
  3. Утилиту csptestf из состава КриптоПро CSP. Подробнее см. Работа с КриптоПро CSP.

Токены Рутокен для платформ Байкал и Эльбрус

Токены

Рутокен для Байкала и Эльбруса

Рутокен Lite и Рутокен ЭЦП

...

работают на всех платформах,

...

имеющих USB-интерфейс.

...

Для подписи с использованием Рутокен можно использовать:

  1. Тестовый центр регистрации Рутокен

...

  1. +

...

...

  1. .

...

  1. Утилита из КриптоПро CSP 5.0.

Установка

...

  1. КриптоАРМ ГОСТ.
  2. Для платформы Байкал М1 под управлением Astra Linux можно использовать предлагаемый разработчиками КриптоПРО пакет cryptoarm-gost-v2.5.12.linux-aarch64.deb (доступен по ссылке: https://github.com/CryptoARM/CryptoARMGOST/releases/tag/v2.5.12).

Рутокен S не поддерживается на платформе Эльбрус.

Установка ПО

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

  • Программное обеспечение из репозиториев Astra Linux:
    • пакетlibccid;
    • пакет pcscd;
    • пакет libpcsclite1;
    • пакет pcsc-tools;
    • пакет opensc;
    • пакет libengine-pkcs11-openssl;
  • Программное обеспечение, предоставляемое разработчиком оборудования:
    • для работы с Рутокен ЭЦП — пакет librtpkcs11ecp (аналог библиотеки libengine-pkcs11-openssl1.1 входящей в состав Astra Linux);
    • для работы с Рутокен S — пакет ifd-rutokens (драйвер токена, предоставляемый производителем).

Установка пакетов может быть выполнена с помощью Графический менеджер пакетов synaptic или из командной строки командой:

Command
sudo apt install libccid pcscd libpcsclite1 pcsc-tools opensc libengine-pkcs11-openssl

Для установки пакета librtpkcs11ecp загрузить актуальную версию по ссылке: https://www.rutoken.ru/support/download/pkcs/ и выполнить установку из загруженного файла:

Command
sudo apt install ./librtpkcs11ecp_*_amd64.deb

При установке пакета устанавливается библиотека librtpkcs11ecp.so В разных обновлениях эта библиотека может размещаться в различных каталогах. Далее в примерах предполагается, что библиотека расположена в файле /usr/lib/librtpkcs11ecp.so. Для того, чтобы определить реальное расположение библиотеки можно использовать команду:

Command
find /usr/*

...

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

Command
sudo apt install libccid pcscd libpcsclite1 pcsc-tools opensc

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

Image Removed

Command
sudo apt install ./librtpkcs11ecp_1.8.2.0-1_amd64.deb

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

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

Способ №1

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

Command
pcsc_scan

Image Removed

Способ №2

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

Command
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T

Image Removed

...

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

Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:

...

(lib|lib64) -name librtpkcs11ecp.so

Способ №3

графическая утилита XCA:

XCA: графический интерфейс для работы с токенами

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

Для изменения pin-кода Рутокена введите команду:
Command
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 

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

Проверка

Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:

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

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

Блок кода
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

...

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

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

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

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

Using slot 0 with a present token (0x0) 

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

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

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

Command

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

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

...

Titleopenssl

Для установки пакета ifd-rutokens загрузить актуальную версию по ссылке: https://www.rutoken.ru/support/download/get/rtDrivers-x64-deb.html и выполнить установку из загруженного файла:

Command
sudo apt install ./ifd-rutokens_*_amd64.deb


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

Для проверки работы токена необходимо подключить токен к компьютеру.

Инструмент pcsc_scan

Инструмент pscsc_scan входит в пакет pcsc-tools. Для его работы требуется установка пакета pcscd. Команда для вывода информации о подключенном токене:

Command
pcsc_scan

После запуска  pscsc_scan проверяет наличие подключенного токена. Если токен обнаружен - выводит информацию о нем. Программа не завершает работу сама, ожидая подключение следующего токена. Для завершения работы программы нажать Ctrl+C.

Пример вывода команды:

Блок кода
Using reader plug'n play mechanism
Scanning present readers...
0: Aktiv Rutoken lite 00 00
 
Fri Mar 31 13:29:35 2023
 Reader 0: Aktiv Rutoken lite 00 00
  Event number: 0
  Card state: Card inserted, 
  ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2

ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2
+ TS = 3B --> Direct Convention
+ T0 = 8B, Y(1): 1000, K: 11 (historical bytes)
  TD(1) = 01 --> Y(i+1) = 0000, Protocol T = 1 
-----
+ Historical bytes: 52 75 74 6F 6B 65 6E 6C 69 74 65
  Category indicator byte: 52 (proprietary format)
+ TCK = C2 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2

Команда pkcs11-tool

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

Command
pkcs11-tool --module 

...

/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

Примечание

В Astra Linux SE 1.6 pkcs11 libengine-pkcs11-openssl версии 1.0.2 не совместим с библиотекой librtpkcs11ecp.so. Для корректного функционирования, следует скачать и установить подписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):  libengine-pkcs11-openssl1.1_0.4.4-4_amd64.deb

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
 -T

Пример вывода команды:

Блок кода
vailable slots:
Slot 0 (0x0): Aktiv Rutoken lite 00 00
  token label        : Rutoken
  token manufacturer : Aktiv Co.
  token model        : Rutoken lite
  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
  hardware version   : 65.4
  firmware version   : 30.2
  serial num         : 419b79e8
  pin min/max        : 6/32

Графический инструмент XCA

См. XCA: графический интерфейс для работы с токенами

Настройка токенов для выполнения двухфакторной аутентификации

См. Двухфакторная PAM-аутентификация с использованием ключевых носителей: пакет libpam-csp.

Работа с токенами Рутокен ЭЦП

Command
Дальнейшая статья применима только к Рутокен ЭЦП.

Инициализация токена

Для очистки токенов можно использовать команду pkcs11-tool:

Информация

Если при работе с ранее находившимся в эксплуатации токеном выполнение указанной команды заканчивается ошибкой вида

Блок кода
error: PKCS11 function C_InitToken failed: rv = unknown PKCS11 error (0x200)
Aborting.

то токен следует переформатировать инструментом rtadmin, предоставляемым производителем, разрешив смену пароля администратором и пользователем.


Command

pkcs11-tool --init-token --module /usr/lib/librtpkcs11ecp.so --so-pin 87654321 --label "Astra Linux"

Где:

  • --init-token — команда инициализации токена;
  • --module — указание интерфейсного модуля токена;
  • --so-pin 87654321 — обязательный параметр — действующий PIN-код администратора (офицера безопасности, SO-PIN). Для примера использовано значение кода 87654321, принятое по умолчанию. Использование этого значения при эксплуатации недопустимо;
  • --label — обязательный параметр — новая метка токена;

Изменение SO-PIN

Предупреждение
В целях обеспечения защиты принятые по умолчанию SO-PIN-коды администратора и пользователя в обязательном порядке должны быть изменены. По умолчанию принят SO-PIN-код администратора 87654321 (см. Какой PIN-код Администратора установлен по умолчанию?).

Пример команды для замены заданного по умолчанию SO-PIN (87654321) на 987654321:

Command

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --login-type so --so-pin 87654321 --change-pin --new-pin 987654321

Где:

  • --login и --login-type so — параметры входа в сессию администратора;
  • --so-pin — действующий SO-PIN-код администратора;
  • --change-pin — команды смены PIN-кода;
  • --new-pin — новый SO-PIN-код.

Далее в примерах используется SO-PIN-код администратора, принятый по умолчанию.

Задание и изменение PIN-кода пользователя

Предупреждение
В целях обеспечения защиты принятые по умолчанию PIN-коды администратора и пользователя в обязательном порядке должны быть изменены.

Команда для установки (переустановки) PIN-кода пользователя:

Command
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --so-pin 87654321 --init-pin --pin <PIN_код_пользователя>

Далее в примерах используется необязательная опция --pin, задающая PIN-код пользователя непосредственно в команде. В практических применениях эта опция может не использоваться, PIN-код при этом будет запрашиваться в интерактивном режиме.
Команда для изменения собственного PIN-кода пользователя самим пользователем:

Command
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --pin <старый_PIN-код> --change-pin --new-pin <новый_PIN-код>

При успешном выполнении будет выдано сообщение о том, что PIN-код успешно изменен:

Блок кода
 Using slot 0 with a present token (0x0)
PIN successfully changed 

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

Создание ключевой пары

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

Command

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


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

Чтобы проверить наличие сертификатов и ключевых пар на токене введите команду:

Command
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O -l --pin <PIN_код_пользователя>

В результате выполнения команды отобразится информация обо всех сертификатах (Certificate Object) и публичных ключах (Public Key Object), хранящихся на токене:

Блок кода
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

Идентификаторы ключей и объектов (ID) используются для выбора сертификатов при выполнении операция с .

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

Команда для извлечения сертификата:

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

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

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

Using slot 0 with a present token (0x0) 

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

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

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

Command

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


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

Command
Titleopenssl

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


Примечание

В Astra Linux Special Edition 1.6 пакеты pkcs11 и libengine-pkcs11-openssl версии 1.0.2 не совместимы с библиотекой librtpkcs11ecp.so. Для корректного функционирования всех пакетов следует скачать и установить подписанный пакет libengine-pkcs11-openssl1.1 версии 0.4.4-4 для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): libengine-pkcs11-openssl1.1_0.4.4-4_amd64.deb

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



Примечание

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



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

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

Command
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w название_вашего_сертификата.crt -a "Имя_сертификата_в_токене" --id 45
Проверка ключей и сертификатов в токене:
Command
Titlepkcs11-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.

Для установки использовать Графический менеджер пакетов synaptic или команду в терминале:

  • Для Astra Linux Special Edition x.7:

    Command
    sudo apt install opensc libengine-pkcs11-openssl 3 libpam-pkcs11 libpam-p11 pcscd libccid


  • Для более ранних обновлений Astra Linux Special Edition и для Astra Linux Common Edition:

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



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

Для регистрации сертификата с ОС:

  1. Конвертировать сертификат в текстовый формат:

    Command
    Titleopenssl

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

    где <название_сертификата>.pem - сертификат из токена в текстовом формате.

  2. Прочитать с токена сертификат с нужным идентификатором и записать его в файл доверенных сертификатов. Для добавления сертификат в список доверенных сертификатов текущего пользователя:

    Command
    mkdir ~/.eid
    chmod 0755 ~/.eid
    cat Ваш_сертификат_из_токена.pem >> ~/.eid/authorized_certificates
    chmod 0644 ~/.eid/authorized_certificates

    Для привязки токена к другому пользователю указать его домашний каталог например таким образом:

    Command

    sudo mkdir /home/<имя_пользователя>/.eid
    sudo chmod 0755 /home/<имя_пользователя>/.eid
    sudo chown <имя_пользователя>:<имя_пользователя> /home/<имя_пользователя>/.eid
    cat <название_сертификата>.pem | tee -a /home/<имя_пользователя>/.eid/authorized_certificates
    sudo chown <имя_пользователя>:<имя_пользователя> /home/<имя_пользователя>/.eid/authorized_certificates
    sudo chmod 0644 /home/user/.eid/authorized_certificates



Информация

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


Настройка аутентификации

  1. Создать файл /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


  2. Выполнить команду:

    Command
    sudo pam-auth-update

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

Проверка

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

Command
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 в автозагрузку и перезагрузить ОС.

Якорь
rtadmin
rtadmin
Инструмент командной строки для администрирования токенов Рутокен rtadmin

Инструмент командной строки rtadmin предоставляется производителем оборудования и предназначен

Примечание

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

Для того чтобы определить путь до библиотеки pkcs11.so введите команду:

Command
find /usr/*(lib|lib64) -name pkcs11.so

2) Т.к. вышеуказанные команды должны быть неразрывны, их следует обязательно вводить в консоли openssl (warning) Иначе openssl не сможет обратиться к закрытому ключу.

...

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

Command
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w название_вашего_сертификата.crt -a "Имя_сертификата_в_токене" --id 45
Проверка ключей и сертификатов в Рутокене:
Command
Titlepkcs11-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:

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

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

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

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

где cert.pem - Ваш сертификат из токена в текстовом формате

Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов: 
Добавляем сертификат в список доверенных сертификатов:

Command
mkdir ~/.eid
chmod 0755 ~/.eid
cat Ваш_сертификат_из_токена.pem >> ~/.eid/authorized_certificates
chmod 0644 ~/.eid/authorized_certificates

Для привязки токена к определенному пользователю необходимо указать его домашнюю директорию, например таким образом:

Command
mkdir /home/user/.eid
chmod 0755 /home/user/.eid
cat Ваш_сертификат_из_токена.pem >> ~/.eid/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates
Информация

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

Настройка аутентификации

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

Command

sudo nano /usr/share/pam-configs/p11

записываем в файл следующую информацию:

...

сохраняем файл, нажав Alt + X, а затем Y, после чего выполнить команду:

Command
sudo pam-auth-update

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

Проверка

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

Command
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 в автозагрузку и перезагрузитесь.

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

Инициализация утилитой pkcs11-tool:

Command

$ pkcs11-tool --slot 0 --init-token --so-pin '87654321' --label 'Название_Вашего_токена' --module /usr/lib/librtpkcs11ecp.so

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

Command

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

Утилита администрирования Рутокен (rtAdmin)

...

для автоматизации процедур форматирования и администрирования устройств Рутокен: смены метки токена, изменения PIN-кодов и их параметров, управления разделами Flash-памяти.

...

При работе с

...

инструментом рекомендуется подключать не

...

более одного устройства.

...

Поддерживаемые модели токенов:

  • Рутокен Lite
  • Рутокен Lite SC
  • Рутокен ЭЦП
  • Рутокен ЭЦП 2.0
  • Рутокен ЭЦП SC
  • Рутокен ЭЦП PKI
  • Рутокен ЭЦП Flash
  • Рутокен ЭЦП 2.0 Flash/touch
  • Рутокен PINPad

Ссылки на загрузку:

rtadmin.zip

Инструмент (оформлен не как пакет Debian, а как отдельный исполняемый файл) доступен по ссылке: https://dev.rutoken.ru/pages/viewpage.action?pageId=7995615.

Примеры использования

  1. Отформатировать один токен с параметрами по умолчанию (для поточного выполнения убрать флаг -q):

    Command

    ./rtadmin

...

  1. -f -q


  2. Отформатировать один токен разрешив смену пароля администратором и пользователем:

    Command

    ./rtadmin -f -q -p 3


  3. Отформатировать один токен, задав имя токена

...

  1. RutokenAstra, PIN-код пользователя 123456789

...

  1. и PIN-код администратора 987654321

...

  1. :

    Command

    ./rtadmin -f -z /usr/lib/librtpkcs11ecp.so -L RutokenAstra -u 123456789 -a 98765432

...

  1. 1 -q


Параметры

...

Инструмент rtadmin поддерживает следующие параметры:

1Форматирование токена-f-
2Текущий PIN-код администратора-o [PIN-код (≤ 32)]

87654321

Значение по умолчанию

...

87654321.
Используется только при форматировании без указания параметра -o

3Текущий

...

PIN-код пользователя-с [PIN-код (≤ 32)]

...

Значение по

...

умолчанию 12345678.
Используется только при форматировании без указания параметра -c

4Устанавливаемый PIN-код администратора

-a [PIN-код (≤ 32)]

87654321

Значение по умолчанию

...

87654321.
Используется только при форматировании без указания параметра -a

5Устанавливаемый PIN-код пользователя-u [PIN-код (≤ 32)]

12345678

Значение по умолчанию

...

12345678.
Используется только при форматировании без указания параметра -u

6

Устанавливаемый PIN2-

...

код (для Рутокен PINPad. Устанавливается на экране устройства)

-t-
7Генерация PIN-кода администратора (используется при форматировании)

-G

...

<длина PIN-кода (8-32)

...

>


-
8Генерация PIN-кода пользователя (используется при форматировании)-g

...

<длина PIN-кода (8-32)

...

>-
9Загрузка значений пар PIN-кодов из файла-b

...

<имя файла>
-
10

Политика смены PIN-кода пользователя

-p

...

<код>:

  • 1 – администратор,
  • 2 – пользователь,
  • 3 – пользователь и администратор]

2

11

Минимальная длина PIN-кода администратора

-M

...

<длина PIN-

...

кода>:

  • 6-31 для Рутокен ЭЦП и Рутокен Lite

...

  • ;
  • 1 для Рутокен S

...

6

12

Минимальная длина PIN-кода пользователя

-m

...

<длина PIN-

...

кода>:

  • 6-31 для Рутокен ЭЦП и Рутокен Lite

...

  • ;
  • 1 для Рутокен S

...

6
13

Максимальное количество попыток ввода PIN-кода администратора

-R

...

<число попыток (3-10)

...

>10
14

Максимальное количество попыток ввода PIN-кода пользователя

-r

...

<число попыток (1-10)

...

>10
15Метка токена в кодировке Windows-1251-L

...

<метка токена>-
16Метка токена в кодировке UTF-8-

...

D <метка токена>-
17Конвертация в UTF-8 (флаг для параметров, связанных с PIN-кодами)-UПо умолчанию PIN-коды не конвертируются в UTF-8
18Ограничение количества выполняемых итераций до одной-q-
19Используемая библиотека PKCS#11-z

...

<путь к

...

библиотеке>librtPKCS11ecp.so
20Путь к конфигурационному файлу-n

...

<путь к

...

файлу>-
21Протоколирование-l

...

<путь к файлу

...

журнала>

Путь: каталог, в котором

...

находится исполняемый файл
Имя файла: rtadmin.log


ПО для браузеров Рутокен Web Плагин


Рутокен Плагин (https://www.rutoken.ru/products/all/rutoken-plugin/) — компонент для любых браузеров и операционных систем для прямой работы с криптографией на устройстве. 
Не требует административных прав при установке.


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


При возникновении

...

вопросов, ответы на

...

которые не удалось найти

...

в

...

настоящей инструкции, рекомендуем

...

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

...

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

...

...

  • . Содержит техническую информацию об устройствах Рутокен и руководства по

...

  • их интеграции.
  • База знаний

...

...

  • . Содержит инструкции по решению большинства ошибок, полезные статьи и ответы на

...

  • часто задаваемые вопросы.

...

...

  • . Здесь

...

  • можно задать

...

  • вопрос

...

  • разработчикам и сотрудникам службы технической поддержки Рутокен.
  • Применение Рутокен

...

  • для Госуслуг без использования КриптоПро:

...

...

...

    • Сервис диагностики:

...

...

    • Электронная почтв:

...