Table of Contents
Предварительная подготовка
Info |
---|
Подключите устройств семейства Рутокен ЭЦП к компьютеру. |
...
# для ubuntu |
...
Для этого соберите библиотеку libp11 из репозитория. Вместе с ней идет libpkcs11.so начиная с версии 0.4.
Использование ключей на Рутокене
pkcs11-engine
позволяет использовать ключи, расположенные на токене.
...
В зависимости от операции будет выбран открытый или закрытый ключ соответственно. Оба ключа пары должны иметь одинаковый идентификатор объекта и/или имя объекта.
Создание ключей
Вы можете пропустить данный раздел, если у вас уже имеются необходимые RSA ключи.
Если ключей нет, ниже команда для их созданию:
...
|
Создание сертификата и импорт его на токен через OpenSSL 1.1.x
Теперь нужно получить сертификат (путь до библиотеки pkcs11 может отличаться в зависимости от ОС):
...
|
Создание сертификата и импорт его на токен через OpenSSL 3.x
Настраиваем конфигурационный файл по инструкции
Формируем самоподписанный сертификат или заявку на сертификат:
...
|
Создание подписи в формате CMS
Для создания CMS подписи необходимо иметь сертификат. Создание самоподписанного сертификата было описано выше.
В конфигурационный файл openssl.cnf
(он может находится по пути /usr/lib/ssl/) необходимо внести следующие изменения:
...
Используя -nocerts
сертификат подписанта не включается в состав CMS пакета.
Проверка подписи в формате CMS
|
...
Если сертификат подписанта не был включен в CMS пакет (отсоединенная подпись), он указывается в опции -certfile.
«Сырая» подпись данных
Используя ключ на Рутокене:
...
Алгоритм хеша будет зависеть от алгоритма ключа.
Проверка «сырой подписи»
Используя ключ на Рутокене:
|
Шифрование в формате CMS
Info | ||
---|---|---|
| ||
При расшифровании сообщения вырабатывается общий симметричный ключ, который непосредственно и используется при расшифровке. Рутокен позволяет генерировать такой общий ключ только на не извлекаемых закрытых ключах с опцией 'derive' в поле key usage. Для того чтобы указать эту опцию, при генерации ключа используйте флаг --usage-derive. Например:
|
...
respondent.cer:
сертификат адресата, для которого шифруется сообщение.
Расшифрование на стороне адресата:
Используя ключ на Рутокене:
...