Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Игорь Петров  
#1 Оставлено : 5 июля 2018 г. 23:19:16(UTC)
Игорь Петров

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Здравствуйте!

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

Взял Криптокомовский gost-engine, натравил на него OpenSSL (1.1.0)

Отправляю запрос :

openssl s_client -engine gost -connect tlsgost-2001.cryptopro.ru:443 -showcerts -status -msg

Вывод :

Цитата:


engine "gost" set.
CONNECTED(00000003)

>>> ??? [length 0005]
16 03 01 00 b4

>>> TLS 1.2Handshake [length 00b4], ClientHello
01 00 00 b0 03 03 74 24 6c 60 b3 9c 1d 3e 6b 74
27 72 c0 f2 c5 c7 39 f6 c8 73 5c a1 04 de b8 b9
de 47 bb 46 df 78 00 00 38 c0 2c c0 30 00 9f cc
a9 cc a8 cc aa c0 2b c0 2f 00 9e c0 24 c0 28 00
6b c0 23 c0 27 00 67 c0 0a c0 14 00 39 c0 09 c0
13 00 33 00 9d 00 9c 00 3d 00 3c 00 35 00 2f 00
ff 01 00 00 4f 00 0b 00 04 03 00 01 02 00 0a 00
0a 00 08 00 1d 00 17 00 19 00 18 00 23 00 00 00
05 00 05 01 00 00 00 00 00 16 00 00 00 17 00 00
00 0d 00 20 00 1e 06 01 06 02 06 03 05 01 05 02
05 03 04 01 04 02 04 03 03 01 03 02 03 03 02 01
02 02 02 03

<<< ??? [length 0005]
16 03 01 03 ec

<<< TLS 1.2Handshake [length 0051], ServerHello
02 00 00 4d 03 01 5b 3e 65 ff 56 09 22 1f 5d 4d
5a 3c c2 85 29 9a 64 34 bb e0 3b 0f 0b 75 08 b0
f5 06 5a f3 63 a5 20 61 f8 40 ea 34 06 df fc ca
1f a3 a8 31 38 d2 aa fb 8e 20 66 58 a4 e9 23 2f
9f b9 7b 08 9a 00 18 00 31 00 00 05 ff 01 00 01
00

>>> ??? [length 0005]
15 03 01 00 02

>>> TLS 1.0Alert [length 0002], fatal illegal_parameter
02 2f

140385060737472:error:141710F8:SSL routines:tls_process_server_hello:unknown cipher returned:ssl/statem/statem_clnt.c:1028:

---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 1009 bytes and written 192 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1
Cipher : 0000
Session-ID: 61F840EA3406DFFCCA1FA3A83138D2AAFB8E206658A4E9232F9FB97B089A0018
Session-ID-ctx:
Master-Key:
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1530815999
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
---





Находимся в OpenSSL, в функции tls_process_server_hello(), дебаг говорит, что cipherchars =
Цитата:
0x5555558558f0 "\002"


Offline Максим Коллегин  
#2 Оставлено : 6 июля 2018 г. 2:14:26(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Я могу ошибаться, но кажется, что наши тестовые сервера не поддерживают TLS 1.2.
Укажите TLS 1.0.
Знания в базе знаний, поддержка в техподдержке
Offline Игорь Петров  
#3 Оставлено : 6 июля 2018 г. 12:37:18(UTC)
Игорь Петров

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
К сожалению, это не дало никаких результатов.

Команда :
Цитата:
openssl s_client -connect tlsgost-2001.cryptopro.ru:443 -showcerts -msg -debug -status -tls1


Результат тот же.
Offline Дмитрий Пичулин  
#4 Оставлено : 6 июля 2018 г. 14:37:05(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,448
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 415 раз в 307 постах
Автор: AAAAA12334 Перейти к цитате
Взял Криптокомовский gost-engine, натравил на него OpenSSL (1.1.0)

А как вы убедились в том, что верно настроили?

openssl engine показывает нашу энжину?

Проверили у себя, у нас ваша командная строка работает и с -tls1 и без.

Знания в базе знаний, поддержка в техподдержке
Offline Игорь Петров  
#5 Оставлено : 6 июля 2018 г. 17:03:04(UTC)
Игорь Петров

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Вы мне подкинули хорошую идею, спасибо.
Действительно, с настройками не всё так гладко, как хотелось бы - не выводит гостовые шифры через openssl ciphers.

Хотя эти команды показывают нормальную реакцию :

Цитата:
openssl engine -vvvv
openssl engine -t -c


Также и параметр -engine gost в составе других команд работает.

Для эксперимента я решил на время переключиться на старый OSSL (1.0.2g), и старый engine.
В 1.0.2 хэндшейк проходит, как надо. Правда под конец выплывает ошибка сегментирования, однако это уже вопрос совсем другого рода, это решаемо.



И тут я вспомнил, что мельком просматривал это : Cannot use the GOST engine in s_client/s_server

Цитата:

.....
.....
Hello. After the commit ad74ff0 it is impossible to load the GOST engine in OpenSSL 1.1.0h. The GOST engine is loaded via openssl.conf file. But now ssl_load_ciphers is invoked before openssl.conf file is processed and GOST engine is loaded. So ssl_load_ciphers doesn't register GOST cipher suites properly, and they become unavailable for TLS.
How must I initialize openssl now to make the GOST ciphersuites work? Thank you.


А в ответ :

Цитата:

Yes, this is known to be broken in 1.1.0 too (as I noted in my original issue description above). There is no workaround at the moment, although you could try cherry-picking the patch in #5813 back to to 1.1.0 as a temporary measure.





Offline Дмитрий Пичулин  
#6 Оставлено : 6 июля 2018 г. 17:54:29(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,448
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 415 раз в 307 постах
Автор: AAAAA12334 Перейти к цитате
И тут я вспомнил, что мельком просматривал это : Cannot use the GOST engine in s_client/s_server

Цитата:

.....
.....
Hello. After the commit ad74ff0 it is impossible to load the GOST engine in OpenSSL 1.1.0h. The GOST engine is loaded via openssl.conf file. But now ssl_load_ciphers is invoked before openssl.conf file is processed and GOST engine is loaded. So ssl_load_ciphers doesn't register GOST cipher suites properly, and they become unavailable for TLS.
How must I initialize openssl now to make the GOST ciphersuites work? Thank you.


А в ответ :

Цитата:

Yes, this is known to be broken in 1.1.0 too (as I noted in my original issue description above). There is no workaround at the moment, although you could try cherry-picking the patch in #5813 back to to 1.1.0 as a temporary measure.






Так точно, ГОСТ в официальных релизах может быть сломан, ставьте патч или пользуйтесь нашим форком: https://github.com/deemr.../openssl-1.1.0-gost-0.15

Если патчить, то ревертить нужно вот этот коммит: https://github.com/opens...77ff7425598802b91924652d

Отредактировано пользователем 6 июля 2018 г. 17:56:02(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
Игорь Петров оставлено 06.07.2018(UTC)
Offline Игорь Петров  
#7 Оставлено : 10 июля 2018 г. 16:00:49(UTC)
Игорь Петров

Статус: Новичок

Группы: Участники
Зарегистрирован: 05.07.2018(UTC)
Сообщений: 6
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Подтверждаю : ваша версия решает проблему с порядком подгрузки шифров.

Отредактировано пользователем 8 октября 2021 г. 13:30:30(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.