...
Теперь нужно получить сертификат:
В OpenSSL 3.0 убрали интерактивный режим.
Для работы с pkcs11 engine теперь необходимо сделать следующее:
Создать файл конфигурации engine.conf со следующим содержимым:
openssl_conf = openssl_init
[openssl_init]
engines = engine_section
[engine_section]
pkcs11 = pkcs11_section
[pkcs11_section]
engine_id = pkcs11
dynamic_path =
/usr/lib64/engines-3/pkcs11
.so
MODULE_PATH =
/usr/lib64/librtpkcs11ecp
.so
default_algorithms = ALL
При необходимости использовать pkcs11 engine указывать путь к файлу конфигурации engine.conf. Пример создания самоподписанного сертификата:
OPENSSL_CONF=
/path/to/engine
.conf openssl req -engine pkcs11 -x509 -new -key 0:45 -keyform engine -out cert.crt -subj
"/C=RU/ST=Moscow/L=Moscow/O=Aktiv/OU=dev/CN=testuser/emailAddress=testuser@mail.com"
- Или создайте запрос на сертификат для передачи его в УЦ:
OPENSSL_CONF=/path/to/engine.conf openssl req -engine pkcs11 -x509 -new -key 0:45 -keyform engine -out request.req
Сохраните сертификат на токене:
...
В результате отобразится сообщение:
|
Скопируйте строчку с описанием сертификата в файл /etc/pam_pkcs11/digest_mapping в формате:
Code Block |
---|
<вывод команды pkcs11_inspect> -> <имя_пользователя> |
Пример заполнения файла:
|
Подключите модуль к системе авторизации PAM:
...
Code Block | ||
---|---|---|
| ||
pkcs11_eventmgr { # Запуск в бэкграунде daemon = true; # Настройка сообщений отладки debug = false; # Время опроса в секундах polling_time = 1; # Установка тайм-аута на удаление карты # По-умолчанию 0 expire_time = 0; # Выбор pkcs11 библиотеки для работы с Рутокен pkcs11_module = /usr/lib64/librtpkcs11ecp.so; # Действия с картой # Карта вставлена: event card_insert { # Оставляем значения по умолчанию (ничего не происходит) on_error = ignore ; action = "/bin/false"; } # Карта извлечена event card_remove { on_error = ignore; # Вызываем функцию блокировки экрана в зависимости от вашей среды рабочего стола (Mate, KDE, Gnome) action = "cinnamonmate-screensaver-command --lock"; } # Карта долгое время извлечена event expire_time { # Оставляем значения по умолчанию (ничего не происходит) on_error = ignore; action = "/bin/false"; } } |
...
Code Block | ||
---|---|---|
| ||
[Desktop Entry]
Type=Application
Name=Smart Card Screensaver
Comment=Application to lock screen on smart card removal.
Exec=/usr/bin/pkcs11_eventmgr daemon
|