Перейти к содержимому
Калькуляторы

Сборка OpenSSL с поддержкой ГОСТ 2012

3 минуты назад, alibek сказал:

Я смог запустить OpenSSL, только поменяв для него системные библиотеки (с которыми его собирал).

Но если это делать глобально для системы, то система начинает работать нестабильно.

Поэтому нужен враппер, который меняет LD_LIBRARY_PATH только для конкретного процесса.

Получается у меня не может собраться engine из-за того что OpenSSL библиотеку эту подгрузить не может? Вроде же версию выводит работает. Запускается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хм вроде как работает. Собрал OpenSSL и с виртуальной машины где https://github.com/kov-serg/get-cpcert взял файлик библиотеки. Ключ принесут узнаю будет ли работать или нет)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Суть проста, как и писал товарищ в начале обсуждения имею схожий сценарий...Задача: получить из токена "тензора" ключ и сертификат. И скормить в Zapret'ку.

Имеем: Токен от 19ого года с новым ГОСТом, P12FromGOSTCSP, и OpenSSL 1.1.1 с GOST.

Что делаю:

1)С помощью "P12FromGOSTCSP" (Новая версия) вытаскиваем p12.pfx P.S. Вытаскивал так же и с помощью "КриптоАРМ ГОСТ"...

2)Суем это дело в OpenSSL:

Получаем:

$ openssl pkcs12 -engine gost -in p12.pfx -nocerts -out key0319-20.key -nomacver
engine "gost" set.
Enter Import Password:
Error outputting keys and certificates
140122641818048:error:06074079:digital envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:../crypto/evp/evp_pbe.c:95:TYPE=1.2.840.113549.1.12.1.80
140122641818048:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:../crypto/pkcs12/p12_decr.c:41:
140122641818048:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:../crypto/pkcs12/p12_decr.c:94:

Так же не важно можно руками и не включать GOST Engine, проблема не меняется.

 

Так же для того что по OpenSSL:

 

$ openssl version -a
OpenSSL 1.1.1  11 Sep 2018
built on: Tue Nov 12 16:58:35 2019 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-kxN_24/openssl-1.1.1=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific
$ openssl engine 
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost) Reference implementation of GOST engine

и то что он увидел Гост2012:

$ openssl ciphers|tr ':' '\n'|grep GOST
GOST2012-GOST8912-GOST8912
GOST2001-GOST89-GOST8

Собственно вопрос...куда копать? Заранее спасибо если не будете кидаться тапками.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

1 час назад, Phantomrat сказал:

envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:../crypto/evp/evp_pbe.c:95:TYPE=1.2.840.113549.1.12.1.80

Это говорит о том, что все еще пытаетесь работать с контейнером в формате, экспортируемом самой CryptoPro. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 hours ago, jffulcrum said:

Это говорит о том, что все еще пытаетесь работать с контейнером в формате, экспортируемом самой CryptoPro. 

Вы правы, виноват, вот после P12FromGostCSP:

$ openssl pkcs12 -in p12.pfx -nocerts -out key0319-20.pem -nomacver
Enter Import Password:
Error outputting keys and certificates
140607180591552:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../crypto/asn1/tasn_dec.c:1130:
140607180591552:error:0D08303A:asn1 encoding routines:asn1_template_noexp_d2i:nested asn1 error:../crypto/asn1/tasn_dec.c:553:
140607180591552:error:2306A065:PKCS12 routines:PKCS12_item_decrypt_d2i:decode error:../crypto/pkcs12/p12_decr.c:114:

 

Изменено пользователем Phantomrat

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да, тоже мучаюсь с этой же проблемой. При том, что поддержка GOST2012 есть.

$ openssl ciphers 
GOST2012256-GOST89-GOST89HE-RSA-CAMELLIA256-SHA256HE-DSS-CAMELLIA256-SHA256HE-RSA-CAMELLIA256-SHAHE-DSS-CAMELLIA256-SHA:
GOST2001-GOST89-GOST89

Ребята из Лисси-софт (те, которые делают P12FromGostCSP) подсказали, что этой утилиткой можно делать сразу PEM-файлы (задать опцию -pem). Пока это выручает, но проблема все-равно остается.
Что случилось, что перестали создаваться нормальные pfx файлы. (Кстати эти pfx файлы не импортируются стандартными средствами Windows на компьютерах без установленной КриптоПро, пишет якобы пин неверный).
До этого той же самой версией OpenSSL pfx с GOST 2012 25 6bit после P12FromGostCSP конвертировались успешно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сегодня снова обновлял ЭЦП.

Загрузил в КриптоПро, экспортировал в PKCS#12 штатными средствами — OpenSSL полученный файл обработать не может.

Делать виртуалку с get-cpcert было лень, взял хакнутый P12FromGostCSP от версии для ГОСТ2012 (ссылка на него тут уже была), выгрузил в PKCS#12 и полученный pfx-файл без проблем конвертировался в pem сборкой OpenSSL с подключенным алгоритмом ГОСТ2012.

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

Первый раз за все время, когда обновление ЭЦП заняло у меня менее 15 минут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

delete

Изменено пользователем hsvt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Написано же - export disabled. Ключ неэкспортируемый, ничего сделать нельзя.

Нужно было изначально в заявке писать, что ключ должен быть экспортируемых. Или хотя бы устно это уточнять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 21.08.2020 в 12:50, alibek сказал:

Написано же - export disabled. Ключ неэкспортируемый, ничего сделать нельзя.

Нужно было изначально в заявке писать, что ключ должен быть экспортируемых. Или хотя бы устно это уточнять.

спасибо!))) я уже удалил пост, т.к. токен был не тот который нужен, поэтому и ключ такой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.