Page tree

Versions Compared

Key

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

...

openssl genpkey -algorithm alg -pkeyopt opt:value [-pkeyopt opt:value]... -out filename.pem

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

ПараметрОписание
-algorithmАлгоритм шифрования
-pkeyopt

Настройки алгоритма (размер ключа, тип эллиптической кривой, и т.д.). Задает для параметра алгоритма opt значение value.

Может быть использован несколько раз, если у алгоритма есть несколько изменяемых параметров. Например:

openssl genpkey -algorithm RSA -out key.pem -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:3
-out

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

Чтобы сохранить файл в другой каталог, укажите в параметре -out  полный путь к этому каталогу, включая название файла:

-out /путь/к/файлу.pem

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

Пример:

openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out privatekey.pem 

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

ПараметрВозможные значения
-algorithm
  • gost2001;
  • gost2012_256;
  • gost2012_512
-pkeyopt

paramset:<value> 

Поддерживаемые значения value в зависимости от алгоритма:

  • gost2001
    • A;
    • B;
    • C;
    • XA;
    • XB.
  • gost2012_256:
    • A;
    • B;
    • C;
    • id-GostR3410-2001-CryptoPro-A-ParamSet;
    • id-GostR3410-2001-CryptoPro-B-ParamSet;
    • id-GostR3410-2001-CryptoPro-C-ParamSet.
  • gost2012_512:
    • A;
    • B;
    • C.

Параметры кривых, соответствующие значениям, описаны в Приложении 1.

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

Пример: 

openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:secp256r1 -out privatekey.pem 

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

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

EC

-pkeyopt
  • ec_param_enc:<encoding>  — определение параметров кривой. Может принимать значение named_curve (используется существующая кривая) или explicit (параметры кривой задаются вручную; не рекомендуется с точки зрения безопасности и совместимости).
    Значение encoding по умолчанию: named_curve.
  • ec_param_curve:<curve> — название эллиптической кривой.
    Чтобы посмотреть список эллиптических кривых, поддерживаемых установленной версией OpenSSL, выполните команду:
    openssl ecparam ‑list_curves

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

Пример:

openssl genpkey ‑algorithm RSA -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

...

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

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

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

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

Тип и параметры алгоритма шифрования (размер ключа, параметры эллиптической кривой, и т.д.).

id, d

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

Tip

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

usagederive

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

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

...