...
Проверяем что на устройстве есть сертификат
Пуск - утилиты - Терминал Fly
$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
...
выводится информация о ключах и сертификатах то необходимо считать сертификат
$ 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-код от устройства значит все настроено правильно