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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline zer0c14  
#1 Оставлено : 26 мая 2012 г. 1:20:30(UTC)
zer0c14

Статус: Участник

Группы: Участники
Зарегистрирован: 25.05.2012(UTC)
Сообщений: 27
Мужчина
Российская Федерация
Откуда: Нижний Новгород

Сказал «Спасибо»: 4 раз
Собрал openssl-1.0.1c с поддержкой gost engine (http://cvs.openssl.org/fileview?f=openssl/engines/ccgost/README.gost).
Проверяю на etp-micex.ru и cryptopro.ru - все работает:
./openssl s_client -connect etp-micex.ru:443 -tls1 -debug -msg -state
./openssl s_client -connect cryptopro.ru:443 -tls1 -debug -msg -state

Проверяю на zakupki.gov.ru и pgz.lanit.ru - ругается на unknown cipher:
./openssl s_client -connect zakupki.gov.ru:443 -tls1 -debug -msg -state
./openssl s_client -connect pgz.lanit.ru:443 -tls1 -debug -msg -state
Смотрим http://www.crypto-pro.ru....aspx?g=posts&t=4516 и видим, что в старых версиях используются 0x31 для cipher, вместо 0x81. Исходя из этого делаем быстрый хак для openssl в s3_clnt.c:
Код:
p[0] = 0x00; p[1] = 0x81;


Проверяю на zakupki.gov.ru и pgz.lanit.ru и вижу новую ошибку:
140525563950752:error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac:s3_pkt.c:1251:SSL alert number 20
140525563950752:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:592:


Вопросы:
- в каких версиях используется 0x31?
- почему на версиях c 0x81 все работает, а на версиях с 0x31 нет?
- какие действия необходимо предпринять, чтобы все заработало на 0x31?
Offline Максим Коллегин  
#2 Оставлено : 26 мая 2012 г. 6:43:37(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 37 раз
Поблагодарили: 728 раз в 629 постах
А что хочется? Предлагаю диалог перенести в ПМ, а сюда выложить результаты. Сходу - trusted tls понимает только устаревшую сюиту.
Знания в базе знаний, поддержка в центре поддержки
Offline tango_rus  
#3 Оставлено : 2 ноября 2012 г. 12:14:41(UTC)
tango_rus

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

Группы: Участники
Зарегистрирован: 02.11.2012(UTC)
Сообщений: 1
Откуда: Белгород

Добрый день, коллеги.

Столкнулся с той же самой проблемой на том же самом сайте.
Удалось кому-нибудь ее решить? Подскажите, плз, направление поиска решения.
Offline vanderdanden  
#4 Оставлено : 21 ноября 2012 г. 17:52:18(UTC)
vanderdanden

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

Группы: Участники
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 2
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
tango_rus написал:
Добрый день, коллеги.

Столкнулся с той же самой проблемой на том же самом сайте.
Удалось кому-нибудь ее решить? Подскажите, плз, направление поиска решения.


Apache-tls тут не причем.
Openssl собран без поддержки GOST.

Скачать архив с исходным кодом:
wget http://www.openssl.org/s...ce/openssl-1.0.0c.tar.gz
Распаковать архив с исходными кодами openssl, перейти в созданную директорию, содержащую эти исходные коды.
tar xzf openssl-1.0.0c.tar.gz
cd openssl-1.0.0c


Выполнить команду:

./config shared zlib enable-rfc3779 --prefix=/gost-ssl
(--prefix=/можете указать любой другой каталог).

Выполнить сборку зависимостей:
make depend
Произвести сборку openssl:
make
Запустить автоматические тесты, входящие в комплект:
make test
Установить собранный openssl:
make install

Для корректной работы openssl-1.0.0 c алгоритмами шифрования, соответствующими ГОСТ,
требуется внести следующие изменения в конфигурационный файл openssl.cnf:

До названия первой секции (первая строка [в квадратных скобках]):

openssl_conf = openssl_def

По умолчанию openssl.cnf эту команду не содержит.

В конце openssl.conf добавить секции:

[openssl_def]
engines = engine_section


[engine_section]
gost = gost_section

[gost_section]
engine_id = gost
default_algorithms = ALL
#путь до библиотеки, убедитесь в наличии файла по данному пути.
dynamic_path = /gost-ssl/lib/engines/libgost.so
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet


В итоге получается при соединении:
SSL handshake has read 939 bytes and written 425 bytes

New, TLSv1/SSLv3, Cipher is GOST2001-GOST89-GOST89
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : GOST2001-GOST89-GOST89
Session-ID:
Session-ID-ctx:
Master-Key: 14D5ACBDC817B3EE7FFE7A9E3646C002245A003A43515AABF4593A4EBC8370EF4AEA7207EF5B2814B03DAE2FE4FBE069
Key-Arg : None
PSK identity: None
PSK identity hint: None
Start Time: 1353449181
Timeout : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
Offline vanderdanden  
#5 Оставлено : 21 ноября 2012 г. 18:09:59(UTC)
vanderdanden

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

Группы: Участники
Зарегистрирован: 21.11.2012(UTC)
Сообщений: 2
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Коллеги, забыл указать ссылки.
Информацию брал отсюда:
http://cvs.openssl.org/fileview?f=openssl/engines/ccgost/README.gost&r=HEAD

Подозреваю, что openssl на Ваших машинах мог быть собран с поддержкой GOST.
Но раздела в файле конфигурации, указанного мною сообщением выше, нет.
Соответственно модуль libgost.so не работает.

Запускается:
./openssl s_client -connect адреса_вашего_сайта_с_apache-tls:443 -tls1 -debug -msg -state

Строки в конце лога, говорят что все готово для обмена сертификатами:

SSL handshake has read 939 bytes and written 425 bytes

New, TLSv1/SSLv3, Cipher is GOST2001-GOST89-GOST89
Server public key is 256 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : GOST2001-GOST89-GOST89
Session-ID:
Session-ID-ctx:
Master-Key: 14D5ACBDC817B3EE7FFE7A9E3646C002245A003A43515AABF4593A4EBC8370EF4AEA7207EF5B2814B03DAE2FE4FBE069
Key-Arg : None
PSK identity: None
PSK identity hint: None
Start Time: 1353449181
Timeout : 7200 (sec)
Verify return code: 21 (unable to verify the first certificate)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.