Экпорт ключа SignalCom в OpenSSL

от автора

У вас стоит задача интегрироваться с удалённым сервисом, который работает по ГОСТу и "только через КРИПТО-КОМ", а вы хотите использовать OpenSSL с gost? На форуме "Сигнал-КОМ" вы видите кучи сообщений, что "ключи из формата КРИПТО-КОМ нельзя конвертировать в формат OpenSSL-гост-совместимых"? Конвертация возможна!

tl;dr: http://gostcrypto.com/demo-sc-keys.html

Как сконвертировать уже имеющиеся ключи из проприетарного в ортодоксальный формат?

Я не параноик

Идёте на http://gostcrypto.com/demo-sc-keys.html и указав файлы контейнера типа "mk.db3", "masks.db3", "kek.opq", "rand.opq" и файл приватного ключа по типу "Keys\00000001.key", нажмите кнопку "Export PrivateKey".

В текущей версии gostcrypto.com ключ будет не совсем PEM-совместимым, т.к. используется длина более 64 символов:

-----BEGIN PRIVATE KEY----- MEYCAQAwHQYGKoUDAgITMBMGByqFAwICIwEGCCqFAwcBAQICBCIEIG0GEmE3dhrHzm1KfFDpKBWEmMydwcmP0hNKvXXbEbLO -----END PRIVATE KEY-----

Чтобы сделать его PEM-совместимым просто добавьте новую строку после 64 символа:

-----BEGIN PRIVATE KEY----- MEYCAQAwHQYGKoUDAgITMBMGByqFAwICIwEGCCqFAwcBAQICBCIEIG0GEmE3dhrH zm1KfFDpKBWEmMydwcmP0hNKvXXbEbLO -----END PRIVATE KEY-----

Я параноик или хочу cli-версию

На момент публикации этой статьи gostcrypto не node-фицирована и есть попытка её node-фикации в пул-реквесте. Там же cli-утилита для экспорта в PEM-compatible формат.

Ставим её и пробуем экспортировать ключ:

sudo npm install -g https://github.com/garex/nodejs-gost-crypto/archive/nodefy.tar.gz cd /tmp wget https://www.contact-sys.com/files/redactor/files/TestContactKey.zip unzip TestContactKey.zip -d TestContactKey gost-export-signalcom-key --pse TestContactKey --key Keys/00000001.key

В результате мы получаем в STDOUT:

-----BEGIN PRIVATE KEY----- MEYCAQAwHQYGKoUDAgITMBMGByqFAwICIwEGCCqFAwcBAQICBCIEIG0GEmE3dhrH zm1KfFDpKBWEmMydwcmP0hNKvXXbEbLO -----END PRIVATE KEY-----

И в STDERR:

OK: Private SignalCom key successfully exported in STDOUT in "PEM" format.

ссылка на оригинал статьи https://habrahabr.ru/post/317406/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *