<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
		<link>https://forum.rutoken.ru/topic/4566/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/4566/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Авторизация пользователей FreeIPA в ubuntu с использованием rutoken».]]></description>
		<lastBuildDate>Thu, 30 Jan 2025 12:24:49 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27106/#p27106</link>
			<description><![CDATA[<p><strong>arashi</strong>, нашли проблему.<br />Падение вызывает замена lib_p11. Проверим, не исправилась ли проблема с двухфакторной аутентификацией в Ubuntu без замены lib_p11.</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Thu, 30 Jan 2025 12:24:49 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27106/#p27106</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27104/#p27104</link>
			<description><![CDATA[<p><strong>arashi</strong>, проверили у себя поведение. openssl не падает. <br />Какая версия opensc у вас? есть ли падение, если не указывать -config user_cert.inf</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Thu, 30 Jan 2025 11:20:44 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27104/#p27104</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27102/#p27102</link>
			<description><![CDATA[<p>Взял свежий токен из прибывшей партии, создал ключевую пару на токене.</p><p>pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --pin 12345678 --keypairgen --key-type rsa:2048 --id 33 --label test3</p><div class="codebox"><pre><code>Using slot 0 with a present token (0x0)
Key pair generated:
Private Key Object; RSA 
  label:      test3
  ID:         33
  Usage:      decrypt, sign
  Access:     sensitive, always sensitive, never extractable, local
Public Key Object; RSA 2048 bits
  label:      test3
  ID:         33
  Usage:      encrypt, verify
  Access:     local</code></pre></div><p>Видно объекты с id=33<br />Видно сообщение, что приватный ключ не извлекаемый.<br />В случае с самостоятельной генерацией ключей &quot;never extractable&quot; не появлялось, хоть приложение рутокен для windows (если вставить токен в пк с windows) всё равно сообщало, что ключ неизвлекаемый.</p><p>Теперь пытаюсь получить запрос на сертификат с токена, безуспешно:<br />Пробую по инструкции <a href="https://dev.rutoken.ru/pages/viewpage.action?pageId=113279016">https://dev.rutoken.ru/pages/viewpage.a … =113279016</a><br />Ошибка.<br />OPENSSL_CONF=/home/arashi/rutoken/engine.conf openssl req -new -engine pkcs11 -key 0:33 -keyform engine -passin pass:12345678 -out client.pem -config user_cert.inf<br /></p><div class="codebox"><pre><code>Engine &quot;pkcs11&quot; set.
Workaround for OpenSSL 3.0.13 30 Jan 2024 enabled
PKCS#11: Initializing the engine: /usr/lib/librtpkcs11ecp.so
Found 15 slots
Looking in slot 0 for private key without login: id=33
- [0] Aktiv Rutoken ECP 00 00    login                                 (Rutoken ECP &lt;no label&gt;)
Segmentation fault (core dumped)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Thu, 30 Jan 2025 09:27:20 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27102/#p27102</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27096/#p27096</link>
			<description><![CDATA[<div class="quotebox"><cite>arashi пишет:</cite><blockquote><p>pkcs11:object=test2_2fa_ipa</p></blockquote></div><p>Возможно, проблема в этом. Мы столкнулись с подобной проблемой при работе через наш rtengine. лучше использовать не указание object, а id.</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Thu, 30 Jan 2025 06:08:27 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27096/#p27096</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27094/#p27094</link>
			<description><![CDATA[<p>Во вторых при разблокировке системы с графическо экрана блокировки крашится<br />/usr/lib/gdc-smartcard<br />crashed with SIGSEGV</p>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Thu, 30 Jan 2025 06:01:27 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27094/#p27094</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27093/#p27093</link>
			<description><![CDATA[<p>Вопросы всё равно остались.<br />Во-первых не удаётся получить со смарт карты запрос на сертификат. Пока что ключи и сертификаты приходится создавать отдельно.</p><p>При помощи pkcs11-tool ключевая пара на флешке создаётся успешно.<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 22 --label test2_2fa_ipa</p><p>А вот запрос на сертификат выдаётся segmentation fault<br />OPENSSL_CONF=/home/arashi/rutoken/test2/engine.conf openssl req -new -engine pkcs11 -key &quot;pkcs11:object=test2_2fa_ipa&quot; -keyform engine -passin pass:12345678 -out client.pem -config user_cert.inf<br />Engine &quot;pkcs11&quot; set.<br />Workaround for OpenSSL 3.0.13 30 Jan 2024 enabled<br />PKCS#11: Initializing the engine: /usr/lib/librtpkcs11ecp.so<br />Found 15 slots<br />Looking in slots for private key without login: label=test2_2fa_ipa<br />- [0] Aktiv Rutoken ECP 00 00&nbsp; &nbsp; login&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Rutoken ECP &lt;no label&gt;)<br /><strong>Segmentation fault (core dumped)</strong></p><br /><p>Содержимое файла /home/arashi/rutoken/test2/engine.conf <br />openssl_conf = openssl_init<br />[openssl_init]<br />engines = engine_section<br />[engine_section]<br />pkcs11 = pkcs11_section<br />[pkcs11_section]<br />engine_id = pkcs11<br />dynamic_path = /usr/lib/x86_64-linux-gnu/engines-3/pkcs11.so<br />MODULE_PATH = /usr/lib/librtpkcs11ecp.so<br />default_algorithms = ALL</p><p>В путях ошибок нет<br />ls -l /usr/lib/x86_64-linux-gnu/engines-3/pkcs11.so<br />-rwxr-xr-x 1 root root 417080 Jan 29 18:13 /usr/lib/x86_64-linux-gnu/engines-3/pkcs11.so<br />ls -l /usr/lib/librtpkcs11ecp.so<br />lrwxrwxrwx 1 root root 47 Jan 10 15:02 /usr/lib/librtpkcs11ecp.so -&gt; /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so</p>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Thu, 30 Jan 2025 05:57:10 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27093/#p27093</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27092/#p27092</link>
			<description><![CDATA[<p>Проблема была видимо из-за того, что рam_pkcs11 и pam_sss работали вместе. <br />Вот полная инструкция для чисой убунты 24.04 desktop</p><p>Устанавливаем библиотеки:<br />sudo apt-get install pcscd opensc openssl libpam-p11 libengine-pkcs11-openssl<br />sudo apt-get install make automake autoconf libssl-dev pkgconf gcc git libtool<br />sudo apt-get install krb5-pkinit libpam-krb5 <br />systemctl enable pcscd<br />wget <a href="https://download.rutoken.ru/Rutoken/PKCS11Lib/2.17.1.0/Linux/x64/librtpkcs11ecp_2.17.1.0-1_amd64.deb">https://download.rutoken.ru/Rutoken/PKC … _amd64.deb</a><br />sudo dpkg -i librtpkcs11ecp_2.17.1.0-1_amd64.deb</p><p>Создаём ключи, сертификат. Загружаем на флешку.<br />openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout private.key -out cert.csr -subj &#039;/CN=tester66&#039; # запрос на сертификат<br />kinit admin<br />ipa user_add tester66<br />ipa cert-request cert.csr --principal=tester66 --ca ipa --profile-id caIPAserviceCert --certificate-out cert.pem # Отправляем запрос на сертификат</p><p>Переформатируем ключ и сертификат в DER формат:</p><p>openssl rsa -in ./private.key -outform DER -out privatekey.der<br />openssl x509 -outform DER -in ./cert.pem -out client_cert.der<br />openssl pkey -inform DER -in privatekey.der -outform DER -pubout -out pubkey.der</p><p>Записываем секретный ключ и сертификат на токен:</p><p>pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 --write-object ./privatekey.der --type privkey --id 13 --label test<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 --write-object ./client_cert.der --type cert --id 13 --label test<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 --write-object ./pubkey.der --type pubkey --id 13 --label test</p><p>Проверим что на токене есть все объекты<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 -O</p><p>Проверим что по этому сертификату мы сможем получить билет керберос нашим пользователем<br />KRB5_TRACE=/dev/stdout kinit -V -X X509_user_identity=&#039;PKCS11:/usr/lib/librtpkcs11ecp.so&#039; tester66<br />klist</p><p>Содать файл <br />sudo nano /usr/share/p11-kit/modules/Rutoken.module <br />с текстом<br />module:/usr/lib/librtpkcs11ecp.so</p><p>Настроить polkit<br />sudo nano /usr/share/polkit-1/actions/org.debian.pcsc-lite.policy<br />поставить yes во всех местах<br />&lt;allow_any&gt;yes&lt;/allow_any&gt;<br />&lt;allow_inactive&gt;yes&lt;/allow_inactive&gt;</p><p>В базу данных сертификатов добавляем возможность искать сертификаты через библиотеку pkcs11<br />sudo modutil -dbdir &quot;/etc/ipa/nssdb&quot; -add &quot;My PKCS11&quot; -libfile /usr/lib/librtpkcs11ecp.so<br />Добавим в файл настроек кербероса строку, что можно использовать библиотеку для поиска сертификатов<br />sudo nano /etc/krb5.conf<br />[libdefaults]<br />pkinit_identities = PKCS11:librtpkcs11ecp.so<br />В файл настроек сервиса сссд так же добавим разрешение на вход по сертификату<br />sudo nano /etc/sssd/sssd.conf<br />[sssd]<br />services = nss, pam<br />[pam]<br />pam_cert_auth = True<br />pam_cert_db_path = /etc/ipa/ca.crt</p><p>Перезапустим службу сссд<br />sudo systemctl restart sssd</p>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Thu, 30 Jan 2025 05:50:22 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27092/#p27092</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27075/#p27075</link>
			<description><![CDATA[<p>Спасибо за ваш ответ. Буду очень признателен, если вы продолжите отвечать.</p><p>Да, с путём к сертификату всё верно.<br /></p><div class="codebox"><pre><code>[domain/int.vlant.ru]

id_provider = ipa
dns_discovery_domain = int.vlant.ru
ipa_server = _srv_, ipa-backup.int.vlant.ru
ipa_domain = int.vlant.ru
ipa_hostname = arashi.vlant.ru
auth_provider = ipa
chpass_provider = ipa
access_provider = ipa
cache_credentials = True
ldap_tls_cacert = /etc/ipa/ca.crt
krb5_store_password_if_offline = True
krb5_auth_timeout = 60
debug_level=10

[sssd]
services = nss, pam, ssh, sudo
domains = int.vlant.ru
debug_level=10
[nss]
homedir_substring = /home

[pam]
pam_cert_auth = True
pam_cert_db_path = /etc/ipa/ca.crt
#pam_p11_allowed_services = +xdg-screensaver
pam_verbosity = 10
debug_level=10
[sudo]

[autofs]

[ssh]

[pac]

[ifp]

[session_recording]</code></pre></div><p>Сама db тоже работает<br /></p><div class="codebox"><pre><code>/usr/libexec/sssd/p11_child --pre --ca_db=/etc/ipa/ca.crt
0
Rutoken ECP &lt;no label&gt;
/usr/lib/librtpkcs11ecp.so
02
test2
:сертификат пользователя:</code></pre></div><p>sudo pam-auth-update<br />показывает подключенные модули (pam_p11 я отключил)<br /></p><div class="codebox"><pre><code>PAM profiles to enable:                                                                                                                                                                 │ 
 │                                                                                                                                                                                         │ 
 │  [*] Pwquality password strength checking                                                                                                                                               │ 
 │  [ ] Pam_pkcs11                                                                                                                                                                         │ 
 │  [ ] Pam_p11                                                                                                                                                                            │ 
 │  [*] Kerberos authentication                                                                                                                                                            │ 
 │  [ ] SSS required smart card authentication                                                                                                                                             │ 
 │  [ ] SSS optional smart card authentication                                                                                                                                             │ 
 │  [ ] Fingerprint authentication                                                                                                                                                         │ 
 │  [*] Unix authentication                                                                                                                                                                │ 
 │  [*] SSS authentication                                                                                                                                                                 │ 
 │  [*] Register user sessions in the systemd control group hierarchy                                                                                                                      │ 
 │  [*] Create home directory on login                                                                                                                                                     │ 
 │  [*] GNOME Keyring Daemon - Login keyring management                                                                                                                                    │ 
 │  [*] Inheritable Capabilities Management                             </code></pre></div><p>В такой конфигурации su не просит ввести пин-код<br />Включение SSS required/optional smart card authentication&nbsp; также ни к чему не приводит<br />Возможно я не понимаю, как подключить pam_sss </p><p>Я включил Pam_pkcs11 <br />И здесь происходит странное.</p><p>su test2 начинает спрашивать pin, но при его правильном вводе выдаёт ошибку<br />ERROR:pam_pkcs11.c:627: no valid certificate which meets all requirements found</p><p>Затем второй раз, уже не сообщая Welcome Rutoken ECP &lt;no label&gt;!,&nbsp; спрашивает PIN код,<br />И вот на второй раз при правильном вводе авторизует пользователя.</p><div class="codebox"><pre><code>$ su test2
Smart card found.
Welcome Rutoken ECP &lt;no label&gt;!
Smart card PIN: 
verifying certificate
ERROR:pam_pkcs11.c:627: no valid certificate which meets all requirements found
Error 2336: No matching certificate found
Smartcard authentication cancelled
Rutoken ECP &lt;no label&gt;           PIN: 
$ bash </code></pre></div><p>Причём первый ввод совсем не важен - можно ввести неправильный код<br />я получу ошибку ERROR:pam_pkcs11.c:503: open_pkcs11_login() failed: C_Login() failed: 160<br />а затем смогу уже ввести правильный код</p><p>$ su test2<br />Smart card found.<br />Welcome Rutoken ECP &lt;no label&gt;!<br />Smart card PIN: <br />ERROR:pam_pkcs11.c:503: open_pkcs11_login() failed: C_Login() failed: 160<br />Error 2320: Wrong smartcard PIN<br />Rutoken ECP &lt;no label&gt;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PIN (Warning: PIN count low): <br />$ bash</p><p>В графическом интерфейсе всё то же самое - первый ввод PIN-кода выдаёт ошибки, повторный приводит к разблокировке компьютера, после чего gnome начинает сыпать сообщениями об ошибках, связанных со смарт картой.</p><p>Кроме того, подобная конфигурация блокирует обычный вход по паролю, и блокирует компьютер при извлечении токена.</p>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Wed, 29 Jan 2025 12:22:51 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27075/#p27075</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27068/#p27068</link>
			<description><![CDATA[<p>В сценарии доменной аутентификации не должен использоваться pam_p11. Этот модуль используется для локальной аутентификации. Что и подтверждается вами, когда вы добавили сертификат в ~/.eid/authorized_certificates<br />Для доменной аутентификации используется&nbsp; pam_sss.</p><p>Проверьте, что у вас правильный сертификат сервера, совпадающий с путем pam_cert_db_path = /etc/ipa/ca.crt</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Wed, 29 Jan 2025 07:44:20 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27068/#p27068</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27062/#p27062</link>
			<description><![CDATA[<p>Не понимаю. Памтестер сообщает, что аутентификация проходит.<br /></p><div class="codebox"><pre><code>$pamtester -v gdm-smartcard test1 authenticate
pamtester: invoking pam_start(gdm-smartcard, test1, ...)
pamtester: performing operation - authenticate
PIN for Rutoken ECP &lt;no label&gt;: 
pamtester: successfully authenticated</code></pre></div><p>Но в то же самое время переключиться на пользователя используя смарт-карту я не могу<br /></p><div class="codebox"><pre><code>$ su test1
No authorized keys on token
Password: </code></pre></div><p>auth.log при этом<br /></p><div class="codebox"><pre><code>2025-01-28T20:48:11.688195+03:00 arashi su: pam_p11(su:auth): Searching Rutoken ECP &lt;no label&gt; for keys
2025-01-28T20:48:11.792767+03:00 arashi su: pam_p11(su:auth): No authorized key found</code></pre></div><p>Точно такое же сообщение и точно такой же auth.log я получаю, если запускаю pamtester с недоступным для него сервером IPA<br /></p><div class="codebox"><pre><code>pamtester: invoking pam_start(gdm-smartcard, test1, ...)
pamtester: performing operation - authenticate
No authorized keys on token
Password:</code></pre></div><p>Если сертификат с карты разместить у пользователя в ~/.eid/authorized_certificates то всё нормально, su test1 спрашивает PIN-код и пользователь авторизауется. </p><p>ipa user-show test1 <br />показывает, что сертификат на карте совпадает с сертификатом пользователя на сервере ipa. </p><p>Может ли это говорить о том, что для pam_p11 не доступен сертификат?<br />pam не может прочитать /etc/ipa/nssd ? </p><p>Возможность её использовать была добавлена <br /></p><div class="codebox"><pre><code>sudo modutil -dbdir &quot;/etc/ipa/nssdb&quot; -add &quot;My PKCS11&quot; -libfile /usr/lib/librtpkcs11ecp.so</code></pre></div><p>Модули видны<br /></p><div class="codebox"><pre><code>modutil -dbdir &quot;/etc/ipa/nssdb&quot; -list
modutil -dbdir &quot;/etc/ipa/nssdb&quot; -list

Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
       uri: pkcs11:library-manufacturer=Mozilla%20Foundation;library-description=NSS%20Internal%20Crypto%20Services;library-version=3.98
     slots: 2 slots attached
    status: loaded

     slot: NSS Internal Cryptographic Services
    token: NSS Generic Crypto Services
      uri: pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203

     slot: NSS User Private Key and Certificate Services
    token: NSS Certificate DB
      uri: pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203

  2. My PKCS11
    library name: /usr/lib/librtpkcs11ecp.so
       uri: pkcs11:library-manufacturer=Aktiv%20Co.;library-description=Rutoken%20ECP%20PKCS%20%2311%20library;library-version=2.17
     slots: 15 slots attached
    status: loaded

     slot: Aktiv Rutoken ECP 00 00
    token: Rutoken ECP &lt;no label&gt;
      uri: pkcs11:token=Rutoken%20ECP%20%3Cno%20label%3E;manufacturer=Aktiv%20Co.;serial=45424088;model=Rutoken%20ECP

     slot: 
    token: 
      uri: pkcs11:</code></pre></div><br /><p>И с авторизацией по PIN-коду я могу увидеть сертификат<br /></p><div class="codebox"><pre><code>certutil -L -d /etc/ipa/nssdb -h all

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for &quot;Rutoken ECP &lt;no label&gt;&quot;:
INT.VLANT.RU IPA CA                                          CT,C,C
Rutoken ECP &lt;no label&gt;:testov</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Tue, 28 Jan 2025 17:05:16 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27062/#p27062</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27052/#p27052</link>
			<description><![CDATA[<p><strong>arashi</strong>, по этому сценарию все должно работать.</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Tue, 28 Jan 2025 13:01:48 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27052/#p27052</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27050/#p27050</link>
			<description><![CDATA[<p>Создаю вручную.<br />Нет, специально так не делаю.</p><p>openssl req -new -newkey rsa:2048 -days 365 -nodes -keyout private.key -out cert.csr -subj &#039;/CN=test1&#039;<br />kinit admin<br />ipa user_add test1</p><p>ipa cert-request cert.csr --principal=test1 --ca ipa --profile-id caIPAserviceCert --certificate-out cert.pem<br />openssl rsa -in ./private.key -outform DER -out privatekey.der<br />openssl pkey -inform DER -in privatekey.der -outform DER -pubout -out pubkey.der<br />openssl x509 -outform DER -in ./cert.pem -out client_cert.der</p><p>Записываем секретный ключ и сертификат на токен<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 --write-object ./privatekey.der --type privkey --id 1 --label test<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 --write-object ./client_cert.der --type cert --id 1 --label test<br />pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l --pin 12345678 --write-object ./pubkey.der --type pubkey --id 1 --label test</p>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Tue, 28 Jan 2025 12:05:32 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27050/#p27050</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27049/#p27049</link>
			<description><![CDATA[<p>А как вы создаете сертификат на токене? <br />У вас CN сертификата не совпадает с именем пользователя специально?</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Tue, 28 Jan 2025 11:12:30 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27049/#p27049</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27045/#p27045</link>
			<description><![CDATA[<p>sudo certutil -L -d /etc/pki/nssdb -h all</p><p>выдаёт </p><div class="codebox"><pre><code>Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Enter Password or Pin for &quot;Rutoken ECP &lt;no label&gt;&quot;:
IPA CA                                                       CT,C,C
Rutoken ECP &lt;no label&gt;:testov                                u,u,u</code></pre></div><br /><p>pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -L</p><div class="codebox"><pre><code>Available slots:
Slot 0 (0x0): Aktiv Rutoken ECP 00 00
  token label        : Rutoken ECP &lt;no label&gt;
  token manufacturer : Aktiv Co.
  token model        : Rutoken ECP
  token flags        : login required, rng, SO PIN count low, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
  hardware version   : 67.4
  firmware version   : 32.2
  serial num         : 45424088
  pin min/max        : 6/32
Slot 1 (0x1): 
  (empty)
Slot 2 (0x2): 
  (empty)
Slot 3 (0x3): 
  (empty)
Slot 4 (0x4): 
  (empty)
Slot 5 (0x5): 
  (empty)
Slot 6 (0x6): 
  (empty)
Slot 7 (0x7): 
  (empty)
Slot 8 (0x8): 
  (empty)
Slot 9 (0x9): 
  (empty)
Slot 10 (0xa): 
  (empty)
Slot 11 (0xb): 
  (empty)
Slot 12 (0xc): 
  (empty)
Slot 13 (0xd): 
  (empty)
Slot 14 (0xe): 
  (empty)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Tue, 28 Jan 2025 09:28:37 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27045/#p27045</guid>
		</item>
		<item>
			<title><![CDATA[Re: Авторизация пользователей FreeIPA в ubuntu с использованием rutoken]]></title>
			<link>https://forum.rutoken.ru/post/27041/#p27041</link>
			<description><![CDATA[<p>libpam-krb5 не был установлен. Установил.</p><br /><p># modutil -dbdir &quot;/etc/ipa/nssdb&quot; -add &quot;My PKCS11&quot; -libfile /usr/lib/librtpkcs11ecp.so<br /></p><div class="codebox"><pre><code>WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type 
&#039;q &lt;enter&gt;&#039; to abort, or &lt;enter&gt; to continue: 

ERROR: Failed to add module &quot;My PKCS11&quot;. Probable cause : &quot;Failure to load dynamic library&quot;.</code></pre></div><div class="codebox"><pre><code># ls -la /usr/lib/librtpkcs11ecp.so
lrwxrwxrwx 1 root root 47 Jan 10 15:02 /usr/lib/librtpkcs11ecp.so -&gt; /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so
# ls -la /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so
-r--r--r-- 1 root root 6010332 Jan 27 18:44 /opt/aktivco/rutokenecp/amd64/librtpkcs11ecp.so</code></pre></div><p>Да, модуль уже был добавлен, поэтому при попытке добавить его ещё раз возникала ошибка.<br /></p><div class="codebox"><pre><code># modutil -dbdir &quot;/etc/ipa/nssdb&quot; -delete &quot;My PKCS11&quot;
Module &quot;My PKCS11&quot; deleted from database.

#modutil -dbdir &quot;/etc/ipa/nssdb&quot; -add &quot;My PKCS11&quot; -libfile /usr/lib/librtpkcs11ecp.so
WARNING: Performing this operation while the browser is running could cause
corruption of your security databases. If the browser is currently running,
you should exit browser before continuing this operation. Type 
&#039;q &lt;enter&gt;&#039; to abort, or &lt;enter&gt; to continue: 

Module &quot;My PKCS11&quot; added to database.</code></pre></div><p>Вот активные модули<br /></p><div class="codebox"><pre><code># modutil -dbdir &quot;/etc/ipa/nssdb&quot; -list

Listing of PKCS #11 Modules
-----------------------------------------------------------
  1. NSS Internal PKCS #11 Module
       uri: pkcs11:library-manufacturer=Mozilla%20Foundation;library-description=NSS%20Internal%20Crypto%20Services;library-version=3.98
     slots: 2 slots attached
    status: loaded

     slot: NSS Internal Cryptographic Services
    token: NSS Generic Crypto Services
      uri: pkcs11:token=NSS%20Generic%20Crypto%20Services;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203

     slot: NSS User Private Key and Certificate Services
    token: NSS Certificate DB
      uri: pkcs11:token=NSS%20Certificate%20DB;manufacturer=Mozilla%20Foundation;serial=0000000000000000;model=NSS%203

  2. My PKCS11
    library name: /usr/lib/librtpkcs11ecp.so
       uri: pkcs11:library-manufacturer=Aktiv%20Co.;library-description=Rutoken%20ECP%20PKCS%20%2311%20library;library-version=2.17
     slots: 15 slots attached
    status: loaded

     slot: Aktiv Rutoken ECP 00 00
    token: Rutoken ECP &lt;no label&gt;
      uri: pkcs11:token=Rutoken%20ECP%20%3Cno%20label%3E;manufacturer=Aktiv%20Co.;serial=45424088;model=Rutoken%20ECP

     slot: 
    token: 
      uri: pkcs11:

     slot: 
    token: 
      uri: pkcs11:</code></pre></div><p># KRB5_TRACE=/dev/stdout kinit -X X509_user_identity=&#039;PKCS11:/usr/lib/librtpkcs11ecp.so&#039; test99<br /></p><div class="codebox"><pre><code>[65712] 1738051045.463592: Matching test99@INT.VLANT.RU in collection with result: -1765328243/Can&#039;t find client principal test99@INT.VLANT.RU in cache collection
[65712] 1738051045.463593: Getting initial credentials for test99@INT.VLANT.RU
[65712] 1738051045.463595: Sending unauthenticated request
[65712] 1738051045.463596: Sending request (186 bytes) to INT.VLANT.RU
[65712] 1738051045.463597: Initiating TCP connection to stream 192.168.22.253:88
[65712] 1738051045.463598: Sending TCP request to stream 192.168.22.253:88
[65712] 1738051045.463599: Received answer (252 bytes) from stream 192.168.22.253:88
[65712] 1738051045.463600: Terminating TCP connection to stream 192.168.22.253:88
[65712] 1738051045.463601: Response was from primary KDC
[65712] 1738051045.463602: Received error from KDC: -1765328359/Additional pre-authentication required
[65712] 1738051045.463605: Preauthenticating using KDC method data
[65712] 1738051045.463606: Processing preauth types: PA-PK-AS-REQ (16), PA-FX-FAST (136), PA-PKINIT-KX (147), PA_AS_FRESHNESS (150), PA-FX-COOKIE (133)
[65712] 1738051045.463607: Received cookie: MIT
[65712] 1738051045.463608: PKINIT loading identity PKCS11:/usr/lib/librtpkcs11ecp.so
[65712] 1738051045.463609: PKINIT opening PKCS#11 module &quot;/usr/lib/librtpkcs11ecp.so&quot;
[65712] 1738051045.463610: PKINIT PKCS#11 slotid 0 token Rutoken ECP &lt;no label&gt;
[65712] 1738051045.463611: Preauth module pkinit (147) (info) returned: 0/Success
[65712] 1738051045.463612: PKINIT client received freshness token from KDC
[65712] 1738051045.463613: Preauth module pkinit (150) (info) returned: 0/Success
[65712] 1738051045.463614: PKINIT opening PKCS#11 module &quot;/usr/lib/librtpkcs11ecp.so&quot;
[65712] 1738051045.463615: PKINIT PKCS#11 slotid 0 token Rutoken ECP &lt;no label&gt;
Rutoken ECP &lt;no label&gt;           PIN:  принимает правильный пин кода
[65712] 1738051054.882529: PKINIT client matching rule &#039;&lt;ISSUER&gt;O=INT.VLANT.RU,CN=Certificate Authority&#039; against certificates
[65712] 1738051054.882530: PKINIT matched ISSUER rule &#039;O=INT.VLANT.RU,CN=Certificate Authority&#039; with value &#039;O=INT.VLANT.RU,CN=Certificate Authority&#039; in cert #1
[65712] 1738051054.882531: PKINIT client checked 1 certs, found 1 matches
[65712] 1738051054.882532: PKINIT loading CA certs and CRLs from FILE /var/lib/ipa-client/pki/kdc-ca-bundle.pem
[65712] 1738051054.882533: PKINIT loading CA certs and CRLs from FILE /var/lib/ipa-client/pki/ca-bundle.pem
[65712] 1738051054.882534: PKINIT client computed kdc-req-body checksum 14/1D6F9D7296CE05F9825C0613E5C4CBAFE32BA7E4
[65712] 1738051054.882536: PKINIT client making DH request
[65712] 1738051054.882537: PKINIT chain cert #0: /O=INT.VLANT.RU/CN=test99
[65712] 1738051054.882538: Preauth module pkinit (16) (real) returned: 0/Success
[65712] 1738051054.882539: Produced preauth for next request: PA-FX-COOKIE (133), PA-PK-AS-REQ (16)
[65712] 1738051054.882540: Sending request (3036 bytes) to INT.VLANT.RU
[65712] 1738051054.882541: Initiating TCP connection to stream 192.168.22.253:88
[65712] 1738051054.882542: Sending TCP request to stream 192.168.22.253:88
[65712] 1738051054.882543: Received answer (3827 bytes) from stream 192.168.22.253:88
[65712] 1738051054.882544: Terminating TCP connection to stream 192.168.22.253:88
[65712] 1738051054.882545: Response was from primary KDC
[65712] 1738051054.882546: Processing preauth types: PA-PK-AS-REP (17)
[65712] 1738051054.882547: PKINIT client verified DH reply
[65712] 1738051054.882548: PKINIT client found 3 SANs (1 princs, 0 UPNs, 0 DNS names) in certificate /O=INT.VLANT.RU/CN=ipa-backup.int.vlant.ru
[65712] 1738051054.882549: PKINIT client found id-pkinit-san in KDC cert: krbtgt/INT.VLANT.RU@INT.VLANT.RU
[65712] 1738051054.882550: PKINIT client matched KDC principal krbtgt/INT.VLANT.RU@INT.VLANT.RU against id-pkinit-san; no EKU check required
[65712] 1738051054.882551: PKINIT client used KDF 2B06010502030602 to compute reply key aes256-cts/9E08
[65712] 1738051054.882552: Preauth module pkinit (17) (real) returned: 0/Success
[65712] 1738051054.882553: Produced preauth for next request: (empty)
[65712] 1738051054.882554: Salt derived from principal: INT.VLANT.RUtest99
[65712] 1738051054.882555: AS key determined by preauth: aes256-cts/9E08
[65712] 1738051054.882556: Decrypted AS reply; session key is: aes256-cts/3929
[65712] 1738051054.882557: FAST negotiation: available
[65712] 1738051054.882558: Resolving unique ccache of type MEMORY
[65712] 1738051054.882559: Initializing MEMORY:ZJiTwIS with default princ test99@INT.VLANT.RU
[65712] 1738051054.882560: Storing config in MEMORY:ZJiTwIS for krbtgt/INT.VLANT.RU@INT.VLANT.RU: fast_avail: yes
[65712] 1738051054.882561: Storing test99@INT.VLANT.RU -&gt; krb5_ccache_conf_data/fast_avail/krbtgt\/INT.VLANT.RU\@INT.VLANT.RU@X-CACHECONF: in MEMORY:ZJiTwIS
[65712] 1738051054.882562: Storing config in MEMORY:ZJiTwIS for krbtgt/INT.VLANT.RU@INT.VLANT.RU: pa_type: 16
[65712] 1738051054.882563: Storing test99@INT.VLANT.RU -&gt; krb5_ccache_conf_data/pa_type/krbtgt\/INT.VLANT.RU\@INT.VLANT.RU@X-CACHECONF: in MEMORY:ZJiTwIS
[65712] 1738051054.882564: Storing config in MEMORY:ZJiTwIS for krbtgt/INT.VLANT.RU@INT.VLANT.RU: pa_config_data: {&quot;X509_user_identity&quot;:&quot;PKCS11:module_name=/usr/lib/librtpkcs11ecp.so&quot;}
[65712] 1738051054.882565: Storing test99@INT.VLANT.RU -&gt; krb5_ccache_conf_data/pa_config_data/krbtgt\/INT.VLANT.RU\@INT.VLANT.RU@X-CACHECONF: in MEMORY:ZJiTwIS
[65712] 1738051054.882566: Storing test99@INT.VLANT.RU -&gt; krbtgt/INT.VLANT.RU@INT.VLANT.RU in MEMORY:ZJiTwIS
[65712] 1738051054.882567: Moving ccache MEMORY:ZJiTwIS to KEYRING:persistent:0:0
[65712] 1738051054.882568: Initializing KEYRING:persistent:0:0 with default princ test99@INT.VLANT.RU
[65712] 1738051054.882569: Storing test99@INT.VLANT.RU -&gt; krb5_ccache_conf_data/fast_avail/krbtgt\/INT.VLANT.RU\@INT.VLANT.RU@X-CACHECONF: in KEYRING:persistent:0:0
[65712] 1738051054.882570: Storing test99@INT.VLANT.RU -&gt; krb5_ccache_conf_data/pa_type/krbtgt\/INT.VLANT.RU\@INT.VLANT.RU@X-CACHECONF: in KEYRING:persistent:0:0
[65712] 1738051054.882571: Storing test99@INT.VLANT.RU -&gt; krb5_ccache_conf_data/pa_config_data/krbtgt\/INT.VLANT.RU\@INT.VLANT.RU@X-CACHECONF: in KEYRING:persistent:0:0
[65712] 1738051054.882572: Storing test99@INT.VLANT.RU -&gt; krbtgt/INT.VLANT.RU@INT.VLANT.RU in KEYRING:persistent:0:0
[65712] 1738051054.882573: Destroying ccache MEMORY:ZJiTwIS
root@arashi:/home/arashi# klist
Ticket cache: KEYRING:persistent:0:0
Default principal: test99@INT.VLANT.RU

Valid starting       Expires              Service principal
01/28/2025 10:57:34  01/29/2025 10:29:24  krbtgt/INT.VLANT.RU@INT.VLANT.RU</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (arashi)]]></author>
			<pubDate>Tue, 28 Jan 2025 08:02:04 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/27041/#p27041</guid>
		</item>
	</channel>
</rss>
