Установка
Для выполнения действий данной инструкции необходимо установить следующее программное обеспечение:
- библиотека libccid, librtpkcs11ecp.so;
- пакеты libpcsclite1 и pcscd;
- pcsc-tools
- opensc
Для установки в терминале введите команду:
$ sudo apt-get install libccid pcscd libpcsclite1 pcsc-tools opensc
Для установки библиотеки librtpkcs11ecp.so следует перейти по указанной ссылке и скачать необходимую версию:
https://www.rutoken.ru/support/download/pkcs/
dpkg -i librtpkcs11ecp_1.8.2.0-1_amd64.deb
Проверка работы Рутокен в системе
Для проверки работы Рутокена:
Подключите устройство к компьютеру.
1-ый способ
Введите команду: $ pcsc_scan
2-ой способ
Введите команду: #pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -T
путь до библиотеки librtpkcs11ecp.so может различаться
Для того чтобы определить путь до библиотеки librtpkcs11ecp.so введите команду:
$ find /usr/*(lib|lib64) -name librtpkcs11ecp.so
Проверка наличия сертификатов и ключевых пар на Рутокен ЭЦП
Проверка
Чтобы проверить наличие сертификатов и ключевых пар на Рутокене введите команду:
#pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O
В результате в окне терминала отобразится информация обо всех сертификатах и ключевых парах, хранящихся на Рутокене:
Если после строчки выводится информация о ключах и сертификатах, то необходимо считать сертификат
Using slot 0 with a present token (0x0) Public Key Object; RSA 2048 bits label: Test ID: 45 Usage: encrypt, verify, wrap Certificate Object, type = X.509 cert label: Test ID: 45
Если после строчки
Using slot 0 with a present token (0x0)
нет ничего, значит устройство пустое. Следует обратиться к администратору или создать ключи и сертификат самостоятельно.
Создание самоподписанного сертификата
Для генерации ключевой пары в терминале следует ввести команду:
pkcs11-tool --module
/usr/lib/librtpkcs11ecp
.so --keypairgen --key-
type
rsa:2048 -l --
id
45
Для создания самоподписанного сертификата в терминале следует ввести команду:
$ 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:45 -keyform engine -x509 -out cert.crt -outform DER
engine "pkcs11" set. Enter PKCS#11 token PIN for Rutoken ECP <no label>: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Rusbitech Organizational Unit Name (eg, section) []: Astra Common Name (e.g. server FQDN or YOUR name) []:Makhmadiev Shuhrat Email Address []:shuhrat@astralinux.ru OpenSSL> exit
Путь до библиотеки pkcs11.so
может отличаться
Создав свой личный сертификат, его следует загрузить на устройство$ pkcs11-tool --module
/usr/lib/librtpkcs11ecp
.so -l -y cert -w cert.crt --
id
45