Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »



Предварительная подготовка

Подключите устройств семейства Рутокен ЭЦП к компьютеру.


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

# для red os
sudo yum update
sudo yum install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit
 
# для alteros
sudo yum update
sudo yum install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit openssl-pkcs11
 
# для astra и alt linux
sudo apt-get update
sudo apt-get install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit
 
# для rosa
sudo dnf --auto-update
sudo dnf install ccid opensc pam_pkcs11 gdm-plugin-smartcard p11-kit



Загрузите модуль librtpkcs11ecp.so и установите:

sudo rpm -i librtpkcs11ecp-X.X.X.X-X.x86_64.rpm

Проверьте наличие  libpkcs11.so по пути: /usr/lib64/engines-1.1/. Если ее нет, то для начала установите libpkcs11.so для того, чтобы OpenSSL смог общаться к Рутокеном.

Для этого соберите библиотеку libp11 из репозитория. Вместе с ней идет libpkcs11.so начиная с версии 0.4.


Создание ключей

Вы можете пропустить данный раздел, если у вас уже имеются необходимые RSA ключи.
Если ключей нет, ниже команда для их созданию:

pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45

Параметр id задает идентификатор ключевой пары.

Проверим сгенерированный ключ:

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

Создание сертификата и импорт его на токен через OpenSSL 1.1.x


Теперь нужно получить сертификат:

  • создайте самоподписанный сертификат:

openssl
 
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib64/engines-1.1/libpkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib64/librtpkcs11ecp.so
 
OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -x509 -out cert.crt -outform DER


  • или создайте запрос на сертификат для передачи его в УЦ:

openssl
 
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib64/engines-1.1/libpkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib64/librtpkcs11ecp.so
 
OpenSSL> req -engine pkcs11 -new -key 0:45 -keyform engine -out request.req


Создание сертификата и импорт его на токен через OpenSSL 3.x

Настраиваем конфигурационный файл по инструкции
Формируем самоподписанный сертификат или заявку на сертификат:

$ OPENSSL_CONF=/path/to/engine.conf openssl req -engine pkcs11 -x509 -new -key 0:45 -keyform engine -out client.pem -subj "/C=RU/ST=Moscow/L=Moscow/O=Aktiv/OU=dev/CN=testuser/emailAddress=testuser@mail.com"


Сохраните сертификат на токене:

pkcs11-tool --module /usr/lib64/librtpkcs11ecp.so -l -y cert -w cert.crt --id 45

  • No labels