Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.12.2014(UTC) Сообщений: 76
Сказал(а) «Спасибо»: 3 раз
|
Здравствуйте. У нас был установлен JCP 2.0.37886, с которым мы, как клиент, обращались к некоторым сервисам. С той стороны везде стоит CSP, так думаю, в каких-то версиях. Все работало исправно до того момента, пока на одном из сервисов не обновились до CSP 3.6 R3 (версия 3.6.7491). Говорят, что раньше тоже была R3, но более ранняя. Обновиться до R4 или чего-то более позднего они сейчас не хотят рисковать, чтобы не отвалились клиенты, особенно, которые ходят через GUI браузером. Мы попробовали обновиться до JCP 2.0.38830 (самая свежая на текущий момент) и стало только хуже - перестали соединяться даже с теми, с кем раньше получалось. Везде стек одинаковый: Код:javax.net.ssl.SSLProtocolException: Server did not send a DH Server Key Exchange message
at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:838)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:285)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1091)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:250)
Из браузера с теми же сертификатами с той же машины все подключения проходят корректно и сервисы возвращают какие-то вменяемые результаты, как и должно быть. Что можно сделать с JCP, чтобы все заработало? Что мы могли пропустить?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Здравствуйте. В приведенном стеке ни слова про ru.CryptoPro.ssl, т.е. JTLS не используется (возможно, не установлен). |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.12.2014(UTC) Сообщений: 76
Сказал(а) «Спасибо»: 3 раз
|
Спасибо. Действительно, не был установлен. Я как-то пропустил этот момент при обновлении версии JCP - в тот раз установил и то, и другое, в этот раз думал, что одной установки JCP будет достаточно. Теперь стало нормально подключаться к некоторым сервисам, к которым и с 2.0.37886 получалось подключаться. Но все так же не подключается к тому, где CSP 3.6 R3 (версия 3.6.7491). Вот такой стек: Код:java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at ru.CryptoPro.ssl.v.a(Unknown Source)
at ru.CryptoPro.ssl.v.a(Unknown Source)
at ru.CryptoPro.ssl.am.a(Unknown Source)
at ru.CryptoPro.ssl.am.a(Unknown Source)
at ru.CryptoPro.ssl.aa.read(Unknown Source)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:633)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:658)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1323)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
Специалисты с той стороны говорят, что причина в том, что у них "RFC 5746 на сервере отключен", чтобы "Клиенты, даже с устаревшим КриптоПро CSP, имеют доступ к серверу", что приводит к тому, что видно на стеке выше. Что-то можно попытаться еще сделать, пока решается вопрос с переводом всех клиентов на свежие версии CSP?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
В панели JCP 2.0 (ControlPane) на закладке "Настройки Сервера" есть галка "Запретить клиенту отправлять расширение", попробуйте ее включить. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.12.2014(UTC) Сообщений: 76
Сказал(а) «Спасибо»: 3 раз
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 11.02.2011(UTC) Сообщений: 49 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: E-burg Сказал «Спасибо»: 4 раз Поблагодарили: 2 раз в 2 постах
|
Добрый день, коллеги! Проблема аналогичная обозначенной выше. Но по стек-трейсу ломается немного в другом месте: Код:14-Mar-2017 20:11:11.994 SEVERE [http-nio-8443-exec-11] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [mvc-dispatcher] in context with path [] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: Failed to connect to EIP.] with root cause
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:189)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at ru.CryptoPro.ssl.v.a(Unknown Source)
at ru.CryptoPro.ssl.v.a(Unknown Source)
at ru.CryptoPro.ssl.am.a(Unknown Source)
at ru.CryptoPro.ssl.am.a(Unknown Source)
at ru.CryptoPro.ssl.aa.read(Unknown Source)
at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:136)
at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:152)
at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:270)
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
Установлено JCP версии 2.0.39014, галочки установлены следующим образом: ![](/forum2/Themes/soclean/icon_file.gif) jcp_RI_problem.png (11kb) загружен 23 раз(а).На стороне сервера куда обращаемся установлено КриптоПро CSP. Ядро версии 3.6.5364, продукт версия 3.6.7491 и установлены галочки следующим образом ![](/forum2/Themes/soclean/icon_file.gif) csp_RI_problem.png (9kb) загружен 20 раз(а).Если установить галочку "Поддерживать RFC 5746 (Renegotiation Indicator)" на сервере тогда ошибка уйдет. Но при этом клиенты со старой версией КриптоПро CSP перестают подключаться на данный сервер. Можно ли как то решить эту проблему кроме как заставить всех клиентов обновить себе КриптоПро CSP до версии R4 ? Заранее благодарю за ответ. Отредактировано пользователем 14 марта 2017 г. 18:28:11(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,003 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 714 раз в 674 постах
|
Здравствуйте. Можете приложить лог клиента (включив уровень логирования SSLLogger ALL)? |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
spider оставлено 15.03.2017(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 11.02.2011(UTC) Сообщений: 49 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: E-burg Сказал «Спасибо»: 4 раз Поблагодарили: 2 раз в 2 постах
|
Спасибо большое, проблема решена. Глубокое логирование помогло разобраться самостоятельно. Проблема была в том, что сервер tomcat запускался от отдельного пользователя, где настройка "Prohabit to client to send RI extension" не была включена. Как только настройку включили и под этим пользователем все заработало. Немного смутило конечно, что настройки JCP под каждого пользователя свои, а не глобальные. Но это уже наша не внимательность. Спасибо большое за ответ и помощь
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close