Перейти к содержанию

Параметры gost-engine: CRYPT_PARAMS, PBE_PARAMS и GOST_PK_FORMAT

Модуль gost.so предоставляет настройки, влияющие на формат ключей и параметры ГОСТ-шифрования. В рабочей инфраструктуре эти настройки задают в контексте конкретного приложения, чтобы изменение совместимости одного сервиса не нарушило остальные.

Посмотреть поддерживаемые управляющие команды

openssl engine -vvvv gost

В перечне gost-engine присутствуют CRYPT_PARAMS, PBE_PARAMS, GOST_PK_FORMAT.

CRYPT_PARAMS

Управляет набором параметров симметричного ГОСТ 28147-89. В конкретном протоколе S-box/paramset определяется соглашением отправителя и получателя. Пример настройки:

openssl_conf = openssl_init
[openssl_init]
engines = engines
[engines]
gost = gost_section
[gost_section]
engine_id = gost
default_algorithms = ALL
CRYPT_PARAMS = 1.2.643.2.2.31.1

Пример OID соответствует одному из исторических наборов CryptoPro; при интеграции используйте именно OID, предусмотренный протоколом.

PBE_PARAMS

Управляет выбором ГОСТ-хэша для механизмов парольного шифрования, в которых используется ENGINE. Для новых контейнеров PKCS#12 дополнительные переключатели GOST_PBE_HMAC и LEGACY_GOST_PKCS12 описаны отдельно в руководстве PFX.

GOST_PK_FORMAT

Некоторые внешние криптографические библиотеки ожидают историческую упаковку закрытого ключа. В upstream gost-engine для такого обмена предусмотрено:

GOST_PK_FORMAT = LEGACY_PK_WRAP

Это настройка формата, а не криптографического алгоритма. Меняйте её только для явно указанного получателя и тестируйте импорт в обе стороны.

Проверка изолированной конфигурации

OPENSSL_CONF="$HOME/gost-lab/engine.cnf" \
  openssl engine -vvvv gost

Если команда не видит настройки, проверьте, какой файл реально читает OpenSSL, где расположен gost.so и правильно ли указан engine_id.

Upstream: README.gost, INSTALL.md.