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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline dmitryvulf  
#1 Оставлено : 15 марта 2013 г. 15:15:16(UTC)
dmitryvulf

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

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

Добрый день,
ПРошу помочь в следующей проблеме.

Поставлена задача: встроить в серверное приложенение поддержку openssl c ГОСТ'ом и настроить взаимодействие с клиентом cryptopro csp 3.6.
далее по шагам:
- сгенерировал CA:
openssl genpkey -algorithm gost2001 -pkeyopt paramset:A -out cakey.pem
openssl req -key cakey.pem -new -x509 -extensions v3_ca -out cacert.pem< careq.txt
- выпутил серверный сертификат:
openssl genpkey -algorithm gost2001 -pkeyopt paramset:A -out serverkey.pem
openssl req -out serverreq.pem -key serverkey.pem -new < serverreq.txt
openssl ca -engine gost -extensions svr_cert -keyfile cakey.pem -cert cacert.pem -in serverreq.pem -out servercert.pem

cfg файл помимо прочего содержит следующие параметры:
...
openssl_conf = openssl_def

[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gost
default_algorithms = ALL
CRYPT_PARAMS = id-GostR3410-2001-CryptoPro-XchA-ParamSet

Теперь проблема:
пытаясь подсоедениться к серверу с клиента получаю ошибку в event log'е
Crypto Pro TLS: This SERVER_HELLO message's extension does not sent: 0xFF01

Разбираясь детальнее с пакетами нахожу:

<Client-Hello> от машины с crypto pro csp 3.6 включает в себя
TLSv1 Record Layer: Handshake Protocol: Client Hello
...
Extension: renegotiation_info
Type: renegotiation_info (0xff01)
Length: 1
Data (1 byte)

В случае подсоеденения к моему openssl серверу приложений <Server-Hello> в ответ СОДЕРЖИТ RI extension.
TLSv1 Record Layer: Handshake Protocol: Server Hello
Handshake Protocol: Server Hello

...
Extension: renegotiation_info
Type: renegotiation_info (0xff01)
Length: 1
Data (1 byte)
Extension: Unknown 65000
Type: Unknown (0xfde8)
Length: 32
Data (32 bytes)

В случае подсоеденения к https://cryptopro.ru <Server-Hello> в ответ НЕ СОДЕРЖИТ RI extension.

TLSv1 Record Layer: Handshake Protocol: Multiple Handshake Messages
Handshake Protocol: Server Hello
....
Handshake Protocol: Server Hello Done
Handshake Type: Server Hello Done (14)

RFC 5746 утверждает, что <Server-Hello> ДОЛЖЕН содержать RI и к сожалению, в openssl невозможно отчлючить посылку RI в <Server-Hello> сообщениях

ПРошу совета; в чем проблема и как ее можно побороть?

Спасибо.











Offline fizban  
#2 Оставлено : 20 марта 2013 г. 9:20:35(UTC)
fizban

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

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

Столкнулся с точно такой же проблемой. Причем она присутствует до версии 3.6 R2 включительно. В 3.6 R3 проблема, по всей видимости, решена, поскольку всё работает, но есть другая - версия 3.6 R3, как я понимаю, Release Candidate и не сертифицирована, что ограничивает её применение.
Offline dmitryvulf  
#3 Оставлено : 20 марта 2013 г. 9:23:08(UTC)
dmitryvulf

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

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

ПРоблема разрешилась при установке клиента R3, используя флажки RFC... на закладке TLS Settings.
Offline fizban  
#4 Оставлено : 20 марта 2013 г. 10:27:52(UTC)
fizban

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

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

Автор: dmitryvulf Перейти к цитате
ПРоблема разрешилась при установке клиента R3, используя флажки RFC... на закладке TLS Settings.

У меня на R3 всё работает даже без флажков RFC. По всей видимости, без переписывания соответствующих процедур в OpenSSL добиться работы с R2 не удастся. Я пытался сделать грязный хак - убрать добавление RI в библиотеке OpenSSL, добился только того, что КриптоПро начал точно так же ругаться на другой экстеншн - 0x3f3f.
Осталось дождаться, пока она выйдет в релиз и сертифицируется. В связи с этим возникает другой вопрос - когда этого можно ожидать.
Offline fizban  
#5 Оставлено : 25 марта 2013 г. 8:07:36(UTC)
fizban

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

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

Автор: dmitryvulf Перейти к цитате
ПРоблема разрешилась при установке клиента R3, используя флажки RFC... на закладке TLS Settings.

Кстати, есть еще вариант - наворачивать ssl до nginx-а (или чего там угодно) с помощью криптопрошной утилиты stunnel. Работает нормально, я проверил, но денег стоит. То есть сама утилита, как я понял, бесплатная, но для ее работы требуется непосредственно криптопро для линукса, которое стоит.

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

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