...
- библиотека PKCS#11;
- утилита osslsigncode;
- утилита pkcs11-tool из комплекта OpenSC.
...
Чтобы установить необходимое программное обеспечение:
- Установите библиотеку PKCS#11:
- Перейдите в Центр загрузки.
- Нажмите Пользователям GNU/Linux и в раскрывшемся списке выберите версию для своей ОС и архитектуры.
- Примите лицензионное соглашение и дождитесь автоматического скачивания файла.
Откройте терминал в папке со скачанным файлом и выполните команду:
Code Block sudo dpkg -i librtpkcs11ecp_<версия>_<архитектура>.deb
Установите osslsigncode и комплект OpenSC:
Code Block sudo apt install osslsigncode opensc
Подписание при помощи утилиты osslsigncode и pkcs11 engine (OpenSC)
Проверка версии OpenSSL
Для подписания с помощью pkcs11 engine от OpenSC необходима версия OpenSSL 3.0.15 или выше. Чтобы посмотреть версию OpenSSL, в терминале выполните команду:
Code Block |
---|
openssl version |
Если установленная версия ниже 3.0.15 и обновить ее системными средствами (например, sudo apt update && sudo apt upgrade
) не получается, установите нужную версию вручную по инструкции в репозитории OpenSSL.
Генерация ключевой пары и создание сертификата
...
Сгенерируйте ключевую пару на Рутокене:
Code Block pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45
Сгенерируйте самоподписанный сертификат:
Code Block openssl req -utf8 -x509 -keyform engine -key "pkcs11:your_pkcs11_uri" -engine pkcs11_enginepkcs11engine -out cert.cer -subj "/C=<страна>/ST=<регион>/L=<населенный_пункт>/O=<организация>/OU=<отдел>/CN=<ФИО>/emailAddress=<email>"
Сохраните сертификат на Рутокен:
Code Block pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w cert.cer --id 45
...