Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Генерация ключевой пары RSA в файл

Пример:

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out rsakey.pem

Значения параметров:

ПараметрВозможные значения
-algorithm 

RSA

-pkeyopt 
  • rsa_keygen_bits:<numbits> — длина ключа в битах.
    Значение numbits по умолчанию: 2048
  • rsa_keygen_primes:<numprimes> — количество простых чисел в генерируемом ключе.
    Значение numprimes по умолчанию: 2

  • rsa_keygen_pubexp:<value> — значение открытой экспоненты. Может быть представлено в десятичной или шестнадцатеричном системе (для этого перед значением нужно поставить 0x).
    Значение value по умолчанию: 65537

...

Через OpenSSL генерация ключевой пары ГОСТ на Рутокене пока не поддерживается. Используйте для этого pkcs11-tool из состава OpenSC.

Формат команды:

pkcs11-tool --module mod --login --pin pin --keypairgen --key-type specification --id id --usage-derive

Описание параметров:

ПараметрОписание
--moduleМодуль или библиотека PKCS #11, которая будет использована для генерации ключевой пары
--login, -lПараметр используется, чтобы потребовать аутентификацию на токене перед выполнением операции. Параметр --login не обязателен, если используется параметр --pin
--pin, -pPIN-код, который будет использован для подтверждения генерации ключевой пары. Использование параметра --pin автоматически включает параметр --login
--keypairgen, -kТип операции (генерация новой ключевой пары)
--key-typeТип и параметры алгоритма шифрования (размер ключа, параметры эллиптической кривой, и т.д.)
--id, -d

Идентификатор объекта (CKA_ID) в виде двузначных номеров символов в hex из таблицы ASCII.


Tip

Чтобы использовать этот ID через OpenSSL, нужно использовать символы, соответствующие этим кодам. Например, для ключевой пары ГОСТ с ID "--id 3132" в PKCS #11 URI нужно указать "pkcs11:id=12". 
Конвертировать ID в формат, подходящий для работы с OpenSSL, можно с помощью онлайн-сервиса конвертации HEX в ASCII.


--usage-derive

Параметр указывает на то, что на сгенерированном ключе можно вырабатывать общий симметричный ключ, который может использоваться, например, для расшифрования CMS-сообщений.

Если шифрование сообщений на генерируемой ключевой паре не планируется, этот параметр можно не использовать. 

...

ПараметрОписание
-encryptТип операции (зашифрование)
-binary

По умолчанию, входное сообщение конвертируется в канонический формат, который использует CR и LF в качестве знака перевода строки (в соответствии со по спецификацией S/MIME). Параметр -binary отключает эту конвертацию. 

-<cipher>

Алгоритм шифрования. Возможные значения зависят от типа ключа.

Для ключей ГОСТ и rtengine версии 0.7:

  • gost28147-paramset_a-cfb — алгоритм, который работает в режиме гаммирования с обратной связью с набором параметров А.

Для ключей ГОСТ и rtengine версии 0.7 +и выше:

  • gost28147-cfbалгоритм, который работает в режиме гаммирования с обратной связью с набором параметров Z.

Для RSA и ECDSA ключей:

  • aes128 — AES-128;
  • aes192 — AES-192;
  • aes256 — AES-256;
  • des — DES;
  • des3 — Triple DES (3DES)
-inВходное сообщение, которое нужно зашифровать
-outНазвание файла, в который будет сохранено зашифрованное сообщение
-outform

Формат CMS-структуры.

Значение по умолчанию: SMIME

respondent.cerCертификат адресата, для которого шифруется сообщение

...