Page tree

Versions Compared

Key

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

...

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

Пример:

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

...

ПараметрОписание
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-сообщений.

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

ГОСТ-2001

Пример:

pkcs11-tool ‑‑module /путь/к/библиотеке/rtPKCS11ECP ‑‑login ‑‑pin 12345678 ‑‑keypairgen ‑‑key‑type GOSTR3410:A ‑‑id 3132 ‑‑usage‑derive

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

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

Для Windows:

/путь/к/файлу/rtPKCS11ECP.dll

Для Linux:

/путь/к/файлу/librtpkcs11ecp.so

keytype
  • GOSTR3410-2001:A;
  • GOSTR3410-2001:B;
  • GOSTR3410-2001:C.

Более подробно значения описаны в Приложении 1.

...

Tip

Собирайте ветку pkcs11-tool с поддержкой ГОСТ-2012 или используйте релиз OpenSC 0.20.0 или новее.

Пример:

pkcs11-tool ‑‑module /путь/к/библиотеке/rtPKCS11ECP ‑‑login ‑‑pin 12345678 ‑‑keypairgen ‑‑key‑type GOSTR3410‑2012‑256:B ‑‑id 3132 ‑‑usage‑derive 

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

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

Для Windows:

/путь/к/файлу/rtPKCS11ECP.dll

Для Linux:

/путь/к/файлу/librtpkcs11ecp.so

keytype

Для алгоритма GOSTR3410-2012-256:

  • GOSTR3410-2012-256:B;
  • GOSTR3410-2012-256:C;
  • GOSTR3410-2012-256:D.

Для алгоритма GOSTR3410-2012-512:

  • GOSTR3410-2012-512:A;
  • GOSTR3410-2012-512:B;
  • GOSTR3410-2012-512:C.

Более подробно значения описаны в Приложении 1.

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

Пример:

pkcs11-tool ‑‑module /путь/к/библиотеке/rtPKCS11ECP ‑‑login ‑‑pin 12345678 ‑‑keypairgen ‑‑key‑type EC:secp256r1 ‑‑id 3132 ‑‑usage‑derive

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

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

Для Windows:

/путь/к/файлу/rtpkcs11ecp.dll

Для Linux:

/путь/к/файлу/librtpkcs11ecp.so
key‑type

Для Рутокен ЭЦП 3.0 3110 и 3220:

  • EC:secp256r1;
  • EC:secp256k1.

Для Рутокен ЭЦП 3.0 3120:

  • EC:secp256r1;
  • EC:secp256k1;
  • EC:secp384r1;
  • EC:secp521r1.

...