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

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline dbubb  
#1 Оставлено : 14 февраля 2019 г. 11:32:19(UTC)
dbubb

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Добрый день.

Устанавливаем защищенное соединение с ЕИС (единая информационная система по гос.закупкам) с использованием КриптоПРО JCP версии 2.0.39014.
Пока с нашей стороны использовался закрытый ключ по ГОСТ 2001 все работало хорошо.
Но в какой-то момент срок действия истек, и был получен новый ключ, по ГОСТ 2012. И с этим ключом соединение не устанавливается.

Собрали логи в подробном режиме, видно что при попытке выполнить Handshake вылетает NullPointerException:


Тот же лог архивом:
log.zip (5kb) загружен 3 раз(а).

Подскажите, пожалуйста, что можно сделать?

Отредактировано пользователем 14 февраля 2019 г. 13:35:16(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 14 февраля 2019 г. 11:58:32(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Здравствуйте.
14-Feb-2019 17:05:13.304 FINE [http-nio-35680-exec-5] ru.CryptoPro.ssl.ao.a %% CertificateRequest
Cert Authorities:
14-Feb-2019 17:05:13.304 FINE [http-nio-35680-exec-5] ru.CryptoPro.ssl.ao.a %% ServerHelloDone (empty)
Это все сообщение про CertificateRequest? CertType есть в логе, можете привести?

Выбрана сайферсюита TLS_CIPHER_2001, но найден контейнер sakha, видимо, ГОСТ 2012, но для TLS_CIPHER_2001 должен быть ГОСТ 2001. Выбор опирается на CertType из CertificateRequest.

Отредактировано пользователем 14 февраля 2019 г. 12:00:30(UTC)  | Причина: Не указана

Offline dbubb  
#3 Оставлено : 14 февраля 2019 г. 12:11:46(UTC)
dbubb

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Цитата:

Это все сообщение про CertificateRequest? CertType есть в логе, можете привести?

Логи полностью привел, ничего другого в логах не было.

Цитата:

Выбрана сайферсюита TLS_CIPHER_2001, но найден контейнер sakha, видимо, ГОСТ 2012, но для TLS_CIPHER_2001 должен быть ГОСТ 2001. Выбор опирается на CertType из CertificateRequest

Да, единственный контейнер - sakha - по ГОСТ 2012.
Пока был по ГОСТ 2001 - все работало, но он истек, а новые по ГОСТ 2001 к сожалению уже не выдают.

Я правильно понимаю, что TLS_CIPHER_2001 выбран потому что в ServerHello не упомянут TLS_CIPHER_2012?
Вот фрагмент лога:
Цитата:

14-Feb-2019 17:05:13.166 FINE [http-nio-35680-exec-5] ru.CryptoPro.ssl.f.q %% ClientHello, TLSv1; Cipher Suites: [TLS_CIPHER_2012, TLS_CIPHER_2001, SSL3_CK_GVO_KB2, SSL3_CK_GVO]; Compression Methods: 0; Extensions: Extension ext_hash_and_mac_alg_select, ext_hash_and_mac_alg_select: [48, 32, 48, 30, 48, 8, 6, 6, 42, -123, 3, 2, 2, 9, 48, 8, 6, 6, 42, -123, 3, 2, 2, 22, 48, 8, 6, 6, 42, -123, 3, 2, 2, 23], Extension renegotiation_info, renegotiated_connection: [60, -84, -69, -75, 0, -126, -8, -105, -83, -68, -60, -90];
14-Feb-2019 17:05:13.266 FINE [http-nio-35680-exec-5] ru.CryptoPro.ssl.ad.<init> ServerHello sessionId: {}
14-Feb-2019 17:05:13.267 FINE [http-nio-35680-exec-5] ru.CryptoPro.ssl.ao.a %% ServerHello, TLSv1; Cipher Suite: TLS_CIPHER_2001; Compression Method: 0; Extensions: Extension renegotiation_info, renegotiated_connection: [60, -84, -69, -75, 0, -126, -8, -105, -83, -68, -60, -90, -121, -16, 102, -71, 20, 15, 101, 95, 100, 93, 60, 80], Extension ext_hash_and_mac_alg_select, ext_hash_and_mac_alg_select: [48, 30, 48, 8, 6, 6, 42, -123, 3, 2, 2, 9, 48, 8, 6, 6, 42, -123, 3, 2, 2, 22, 48, 8, 6, 6, 42, -123, 3, 2, 2, 23];


То есть надо жаловаться в поддержку ЕИС, что они не поддерживают соединение по ГОСТ 2012?
Offline two_oceans  
#4 Оставлено : 14 февраля 2019 г. 12:40:42(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Пока гост-2012 на ЕИС не проверял лично, но вроде Минкомсвязи Казначейство отчиталось, что ЕИС новый гост поддерживает. Может быть они вынесли новый гост на другой адрес - об этом лучше уточнить в поддержке ЕИС.
Offline Aleksandr G*  
#5 Оставлено : 14 февраля 2019 г. 12:46:14(UTC)
Aleksandr G*

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.09.2016(UTC)
Сообщений: 126

Сказал(а) «Спасибо»: 8 раз
Поблагодарили: 35 раз в 28 постах
"ИСПОЛЬЗОВАНИЕ НАБОРОВ АЛГОРИТМОВ ШИФРОВАНИЯ НА ОСНОВЕ ГОСТ 28147 - 89 ДЛЯ ПРОТОКОЛА БЕЗОПАСНОСТИ ТРАНСПОРТНОГО УРОВНЯ (TLS)", пункт "4.1 Сертификаты сторон":
Цитата:

Клиент TLS, поддерживающий настоящие рекомендации, может поддерживать все виды хэш функций, подписей и все типы сертификатов для всех CipherSuite, описанных в данном документе.
Сервер TLS имеющий сертификат ключа по ГОСТ Р 34.10-2012 для любой длины ключа может поддерживать CipherSuite:
TLS_GOSTR341112_256_WITH_28147_CNT_IMIT;
TLS_GOSTR341112_256_WITH_NULL_GOSTR3411.
Сервер TLS имеющий сертификат ключа по ГОСТ Р 34.10-2001 может поддерживать CipherSuite:
TLS_GOSTR341001_WITH_28147_CNT_IMIT;
TLS_GOSTR341001_WITH_NULL_GOSTR3411;
TLS_GOSTR341112_256_WITH_28147_CNT_IMIT;
TLS_GOSTR341112_256_WITH_NULL_GOSTR3411.



Это утверждение для клиента корректно?
Цитата:
Выбрана сайферсюита TLS_CIPHER_2001, но найден контейнер sakha, видимо, ГОСТ 2012, но для TLS_CIPHER_2001 должен быть ГОСТ 2001. Выбор опирается на CertType из CertificateRequest.




Offline dbubb  
#6 Оставлено : 14 февраля 2019 г. 12:53:23(UTC)
dbubb

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Цитата:

Пока гост-2012 на ЕИС не проверял лично, но вроде Минкомсвязи Казначейство отчиталось, что ЕИС новый гост поддерживает. Может быть они вынесли новый гост на другой адрес - об этом лучше уточнить в поддержке ЕИС.

В техподдержку ЕИС обратились примерно месяц назад, они сказали что зарегистрировали запрос и с тех пор тишина.
Единственный момент - месяц назад КриптоПРО JCP при попытке установить соединение выдавал ошибку javax.net.ssl.SSLHandshakeException: Received fatal alert: HANDSHAKE_FAILURE
а несколько дней назад стал выдавать javax.net.ssl.SSLException: java.lang.NullPointerException
на сервере мы ничего не меняли
то есть выглядит все так, как будто со стороны ЕИС что-то поправили, но не до конца
вот пытаюсь разобраться с чьей стороны проблема
Offline Евгений Афанасьев  
#7 Оставлено : 14 февраля 2019 г. 13:48:40(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: dbubb Перейти к цитате

Я правильно понимаю, что TLS_CIPHER_2001 выбран потому что в ServerHello не упомянут TLS_CIPHER_2012?

Да. Клиент отправил обе сайферсюиты, сервер выбрал TLS_CIPHER_2001.
Интересно, что в CertificateRequest. Если это весь лог, вероятно, его расширили в более поздних версиях JTLS (CertType и т.п.).
Можно ли узнать адрес подключения, публичный ли он?
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
dbubb оставлено 14.02.2019(UTC)
Offline dbubb  
#8 Оставлено : 14 февраля 2019 г. 14:04:09(UTC)
dbubb

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Цитата:

Можно ли узнать адрес подключения, публичный ли он?

Да, это публичный адрес ЕИС для интеграции с внешними системами:
https://int223.zakupki.g...ation/integration/upload
Offline Евгений Афанасьев  
#9 Оставлено : 14 февраля 2019 г. 14:34:25(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,910
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 685 раз в 646 постах
Автор: Aleksandr G* Перейти к цитате
"ИСПОЛЬЗОВАНИЕ НАБОРОВ АЛГОРИТМОВ ШИФРОВАНИЯ НА ОСНОВЕ ГОСТ 28147 - 89 ДЛЯ ПРОТОКОЛА БЕЗОПАСНОСТИ ТРАНСПОРТНОГО УРОВНЯ (TLS)", пункт "4.1 Сертификаты сторон":
Цитата:

Клиент TLS, поддерживающий настоящие рекомендации, может поддерживать все виды хэш функций, подписей и все типы сертификатов для всех CipherSuite, описанных в данном документе.
Сервер TLS имеющий сертификат ключа по ГОСТ Р 34.10-2012 для любой длины ключа может поддерживать CipherSuite:
TLS_GOSTR341112_256_WITH_28147_CNT_IMIT;
TLS_GOSTR341112_256_WITH_NULL_GOSTR3411.
Сервер TLS имеющий сертификат ключа по ГОСТ Р 34.10-2001 может поддерживать CipherSuite:
TLS_GOSTR341001_WITH_28147_CNT_IMIT;
TLS_GOSTR341001_WITH_NULL_GOSTR3411;
TLS_GOSTR341112_256_WITH_28147_CNT_IMIT;
TLS_GOSTR341112_256_WITH_NULL_GOSTR3411.



Это утверждение для клиента корректно?
Цитата:
Выбрана сайферсюита TLS_CIPHER_2001, но найден контейнер sakha, видимо, ГОСТ 2012, но для TLS_CIPHER_2001 должен быть ГОСТ 2001. Выбор опирается на CertType из CertificateRequest.


Новый ГОСТ 2012 поддерживается в специально введенных новый сайферсюитах, так как ранние версии не умеют работать с ГОСТ 2012 и будут использовать TLS_CIPHER_2001.

Offline dbubb  
#10 Оставлено : 14 февраля 2019 г. 16:26:14(UTC)
dbubb

Статус: Активный участник

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

Сказал «Спасибо»: 14 раз
Поблагодарили: 1 раз в 1 постах
Цитата:
Да. Клиент отправил обе сайферсюиты, сервер выбрал TLS_CIPHER_2001.


Связались с техническими специалистами ЕИС, они утверждают что проблема не в этом:

Цитата:
Потому что фронтальные серверы ЕИС не поддерживают сейчас шифрование соединения по алгоритму ГОСТ-2012. Но проблема не в этом.
Так как алгоритм шифрования соединения не относится к тому, какой сертификат может использовать пользователь.

Наш сертификат, которым тестируются подсистемы после выкатки релизов:
Signature Algorithm: GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)
Public Key Algorithm: GOST R 34.10-2012 with 256 bit modulus
Parameter set: id-GostR3410-2001-CryptoPro-XchA-ParamSet

У нас при этом проблем с соединением с ЕИС не возникает.


Также смущает что КриптоПро JCP выкидывает ошибку NullPointerException, а не какую-нибудь конкретную ошибку соединения типа HANDSHAKE_FAILURE.

Можете что-то посоветовать, что стоит попробовать далее?
Может имеет смысл обновить версию JCP (сейчас используем версию 2.0.39014)?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.