...
Все настройки в руководстве выполняются для тестового домена SMARTCARD.ALD. Примем, что сервер и клиент принадлежат домену SMARTCARD.ALD, имя сервера – - kdc, а клиента – - client. При настройке используйте имя вашего домена, сервера и клиента.
...
Блок кода |
---|
/etc/init.d/krb5-admin-server restart /etc/init.d/krb5-kdc restart |
Подготовка смарт-карты. Выпуск ключей и сертификата пользователя
...
Подключите устройство, которое следует подготовить.
Проверка работы Рутокен в системе
...
Примечание |
---|
путь до библиотеки librtpkcs11ecp.so может различаться Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду: |
Инициализация устройства
...
Проинициализируйте устройство, установите PIN-код пользователя. Помните, что инициализация устройства удалит все данные на Рутокен ЭЦП без возможности восстановления.
Для инициализации необходимо воспользоваться утилитой pkcs11-tool.
Test |
---|
$ pkcs11-tool --slot 0 --init-token --so-pin 87654321 --label 'AstraLinux' --module /usr/lib/librtpkcs11ecp.so |
Примечание |
---|
--slot 0 — указывает, в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – - 1,2 и т.д.; |
Задания PIN-кода пользователя
...
Для задания PIN-кода пользователя используйте команду:
Test |
---|
$ pkcs11$ pkcs11-tool --slot 0 --init-pin --so-pin 87654321 --login --pin 12345678 --module /usr/lib/librtpkcs11ecp.so |
Примечание |
---|
--init-pin - команда установки PIN-кода пользователя; |
Генерация пары ключей на Рутокен ЭЦП
...
Сгенерируйте ключи на устройстве, для этого введите следующую команду:
Test |
---|
pkcs11-tool --slot 0 --login --pin 12345678 --keypairgen --key-type rsa:2048 --id 33 --label “2fa test1 key” --module /usr/lib/librtpkcs11ecp.so |
Примечание |
---|
-keypairgen --key-type rsa:2048 — указывает, что должны быть сгенерированы RSA ключи длиной 2048 бит; |
Генерация запроса на сертификат
...
Сгенерируйте запрос на сертификат с помощью утилиты openssl. Для этого введите следующие команды:
$ 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 |
OpenSSL> req -engine pkcs11 -new -key 0:33 -keyform engine -out client.req -subj
|
Примечание |
---|
-new -key 0:42, где 0— номер виртуального слота с устройством,33— атрибут CKA_ID раннее сгенерированных ключей. |
Выпуск сертификата для пользователя
...
Необходимо установить переменные окружения:
Блок кода |
---|
$ export REALM=EXAMPLE.RU
$ export CLIENT=test1 |
Примечание |
---|
SMARTCARD.ALD - ваш домен test1 - Ваш доменной пользователь |
и выпустить сертификат на пользователя:
Блок кода |
---|
$ openssl x509 -CAkey cakey.pem -CA cacert.pem -req -in client.req -extensions client_cert -extfile pkinit_extensions -out client.pem -days 365 |
Далее перекодируйте полученный сертификат из формата PEM в формат DER.
Блок кода |
---|
# openssl x509 -in client.pem -out client.cer -inform PEM -outform DER |
Запишите полученный сертификат на токен:
Блок кода |
---|
pkcs11-tool --slot 0 --login --pin 12345678 --write-object client.cer --type 'cert' --label 'test1' --id 33 --module /usr/lib/librtpkcs11ecp.so |
Примечание |
---|
--write-object ./client.cer— указывает, что необходимо записать объект и путь до него; |