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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline kvl12345  
#1 Оставлено : 4 июня 2008 г. 18:59:12(UTC)
kvl12345

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

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

При чтении ответа от партнёра на некоторых файлах получаем сообщение javax.net.ssl.SSLException. bad record MAC.
Длина получаемого сообщения зависит от использования прокси.
Без использования прокси:
длина полученной части потока - 7787
При использовании прокси:
длина полученной части потока варьируется от 40960 до 106496;
(В промежутке 56123 и т.д.)
Полное сообщение:
Caused by: javax.net.ssl.SSLException: bad record MAC
at ru.CryptoPro.ssl.H.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.ab.read(Unknown Source)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:525)
at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:582)
at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:669)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2172)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.read1(BufferedReader.java:187)
at java.io.BufferedReader.read(BufferedReader.java:261)
at java.io.Reader.read(Reader.java:122)
...
Мы используем JCP 1.0.35 и JTLS 1.0.35
Как получить (и получать в дальнейшем) всё сообщение, независимо от его длины и данных?

Offline alexlexa  
#2 Оставлено : 5 июня 2008 г. 21:55:27(UTC)
alexlexa

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

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

Получили ту же самую проблему.

Используем JCP 1.0.35 и JTLS 1.0.35!!!

При длине сообщения 18 422 байт получаем:

=============
javax.net.ssl.SSLException: bad record MAC
at ru.CryptoPro.ssl.H.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.ab.read(Unknown Source)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)

=============

это же сообщение удается успешно разобрать на .Net с Вашим Шарпеем и CSP? что означает у Вас бага в реализуции SSL сокетов на Java.

Когда ждать решения данном проблемы???


Прокси не используется!!!

Отредактировано пользователем 5 июня 2008 г. 21:57:31(UTC)  | Причина: Не указана

Offline Ольга  
#3 Оставлено : 6 июня 2008 г. 14:30:28(UTC)
Ольга

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

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

Поблагодарили: 3 раз в 3 постах
присылайте журналы, разберемся
Offline alexlexa  
#4 Оставлено : 6 июня 2008 г. 14:40:24(UTC)
alexlexa

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

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

Ольга, как именно должен выглядеть журнал???

У меня обычный сокет соединяется в Http сервером. Все по умолчанию ...

Что Вам выслать?
Offline Ольга  
#5 Оставлено : 6 июня 2008 г. 14:41:54(UTC)
Ольга

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

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

Поблагодарили: 3 раз в 3 постах
выставляете в java уровень FINE и присылаете то что написал наш ssl

желательно также указать версию java и какой ssl используется на серверной стороне

Отредактировано пользователем 6 июня 2008 г. 14:44:06(UTC)  | Причина: Не указана

Offline kvl12345  
#6 Оставлено : 7 июня 2008 г. 19:47:03(UTC)
kvl12345

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

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

Добрый день. Пытаемся послать журнал. Он большой.
Offline kvl12345  
#7 Оставлено : 7 июня 2008 г. 19:47:36(UTC)
kvl12345

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

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

Можно ли прицепить файл?
Offline kvl12345  
#8 Оставлено : 7 июня 2008 г. 19:51:38(UTC)
kvl12345

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

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

07.06.2008 15:18:16 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_cache_size_default=0
07.06.2008 15:18:16 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_time_default=24
07.06.2008 15:18:16 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_cache_size_default=0
07.06.2008 15:18:16 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: User Preference Node: /ru/CryptoPro/ssl.Session_time_default=24
07.06.2008 15:18:16 ru.CryptoPro.ssl.a a
FINE: %% No cached client session
07.06.2008 15:18:16 ru.CryptoPro.ssl.I m
FINE: %% ClientHello, TLSv1; Cipher Suites: [TLS_CIPHER_2001, TLS_CIPHER_94, SSL3_CK_GVO_KB2]; Compression Methods: 0
07.06.2008 15:18:16 ru.CryptoPro.ssl.a a
FINE: %% ServerHello, TLSv1; Cipher Suite: TLS_CIPHER_2001; Compression Method: 0
07.06.2008 15:18:16 ru.CryptoPro.ssl.a a
FINE: %% New session TLS_CIPHER_2001
07.06.2008 15:18:16 ru.CryptoPro.ssl.a a
FINE: %% Certificate message:

Subject: CN=www.testgate.blizko.net, O="ОАО АКБ Связь-Банк ", L=Москва, C=RU, EMAILADDRESS=support@blizko.biz
Valid from Mon Apr 14 13:37:17 MSD 2008 until Tue Apr 14 13:47:17 MSD 2009

Subject: CN=Sviaz-Bank Certification Authority, O=Sviaz-Bank, L=Moscow, C=RU, EMAILADDRESS=security@sviaz-bank.ru
Valid from Wed May 18 11:19:17 MSD 2005 until Wed May 18 11:27:27 MSD 2011

07.06.2008 15:18:17 ru.CryptoPro.ssl.a a
FINE: %% CertificateRequest
07.06.2008 15:18:17 ru.CryptoPro.ssl.a a
FINE: %% ServerHelloDone (empty)
07.06.2008 15:18:17 ru.CryptoPro.ssl.d a
FINE: %% getting aliases for Client
07.06.2008 15:18:17 ru.CryptoPro.ssl.d a
FINE: %% matching alias: inver
07.06.2008 15:18:17 ru.CryptoPro.ssl.a a
FINE: %% Certificate message:

Subject: CN=БлизкоТест, OU=Разработка, O=Инверсия, L=Москва, ST=Россия, C=RU
Valid from Mon Apr 28 16:36:52 MSD 2008 until Tue Apr 28 16:46:52 MSD 2009

Subject: CN=Sviaz-Bank Certification Authority, O=Sviaz-Bank, L=Moscow, C=RU, EMAILADDRESS=security@sviaz-bank.ru
Valid from Wed May 18 11:19:17 MSD 2005 until Wed May 18 11:27:27 MSD 2011

07.06.2008 15:18:17 ru.CryptoPro.ssl.a a
FINE: %% ClientKeyExchange...
07.06.2008 15:18:18 ru.CryptoPro.ssl.a a
FINE: %% CertificateVerify
07.06.2008 15:18:18 ru.CryptoPro.ssl.I a
FINE: %% Finished.
07.06.2008 15:18:18 ru.CryptoPro.ssl.a b
FINE: %% Finished.
07.06.2008 15:18:18 ru.CryptoPro.ssl.a b
FINE: %% Didn't cache non-resumable client session: [Session-1, TLS_CIPHER_2001]
07.06.2008 15:18:18 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools/CPVerify.DigestStoreDefaultCPVerify_class_WhatRepositoryKeyName=1
07.06.2008 15:18:18 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools/CPVerify.DigestStoreDefaultCPVerify_class_WhatRepositoryKeyName=1
07.06.2008 15:18:18 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools/CPVerify.DigestStoreREGkeyforcount=0
07.06.2008 15:18:18 ru.CryptoPro.JCP.pref.JCPPref getInt
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools/CPVerify.DigestStoreREGkeyforcount=0
Считано 56123 байт
ru.inversion.app.error.AppError: Ошибка чтения ответного сообщения.

at ru.inversion.blizko.connection.BlizkoUrlConnection.readResponse(BlizkoUrlConnection.java:254)
at ru.inversion.blizko.connection.BlizkoUrlConnection.send(BlizkoUrlConnection.java:310)
at ru.inversion.blizko.connection.BlizkoUrlConnection.send(BlizkoUrlConnection.java:354)
at ru.inversion.blizko.client.BlizkoClient.sendMessage(BlizkoClient.java:213)
at ru.inversion.blizko.client.BlizkoClient.send(BlizkoClient.java:118)
at ru.inversion.BlizkoTest.cliSend(BlizkoTest.java:140)
at ru.inversion.BlizkoTest.getAgent(BlizkoTest.java:213)
at ru.inversion.BlizkoTest.getAgents(BlizkoTest.java:321)
at ru.inversion.BlizkoTest.main(BlizkoTest.java:85)
Caused by: javax.net.ssl.SSLException: bad record MAC
at ru.CryptoPro.ssl.H.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.s.a(Unknown Source)
at ru.CryptoPro.ssl.ab.read(Unknown Source)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
at sun.net.www.http.ChunkedInputStream.readAheadBlocking(ChunkedInputStream.java:525)
at sun.net.www.http.ChunkedInputStream.readAhead(ChunkedInputStream.java:582)
at sun.net.www.http.ChunkedInputStream.read(ChunkedInputStream.java:669)
at java.io.FilterInputStream.read(FilterInputStream.java:111)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2172)
at sun.nio.cs.StreamDecoder$CharsetSD.readBytes(StreamDecoder.java:411)
at sun.nio.cs.StreamDecoder$CharsetSD.implRead(StreamDecoder.java:453)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:183)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at java.io.BufferedReader.read1(BufferedReader.java:185)
at java.io.BufferedReader.read(BufferedReader.java:261)
at java.io.Reader.read(Reader.java:122)
at ru.inversion.blizko.connection.BlizkoUrlConnection.readResponse(BlizkoUrlConnection.java:233)
... 8 more

Offline Ольга  
#9 Оставлено : 7 июня 2008 г. 19:58:04(UTC)
Ольга

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

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

Поблагодарили: 3 раз в 3 постах
версия java и описание сторон (провайдеры и т.д.)
Offline kvl12345  
#10 Оставлено : 7 июня 2008 г. 20:05:47(UTC)
kvl12345

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

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

С нашей стороны:
JAVA 1.5.0_11
#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=ru.CryptoPro.JCP.JCP
security.provider.8=ru.CryptoPro.Crypto.CryptoProvider
security.provider.9=ru.CryptoPro.ssl.Provider

У партнёра запросили. Нужна ли ещё какая-нибудь информация?
Offline alexlexa  
#11 Оставлено : 9 июня 2008 г. 14:14:57(UTC)
alexlexa

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

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

У партнера

JCP 35 и TLS 35.

Java - JDK 1.6u4!!!

Как мы и сказали, удивительно, что .Net клиент принимает сообщение нормально. А java падает на этой ошибке ...
Offline Ольга  
#12 Оставлено : 9 июня 2008 г. 14:56:16(UTC)
Ольга

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

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

Поблагодарили: 3 раз в 3 постах
alexlexa
напрашивается вывод, что вы плохо реализовали клиент на java.
Offline kvl12345  
#13 Оставлено : 9 июня 2008 г. 17:14:05(UTC)
kvl12345

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

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

Добрый день.
При попытке создать сообщение получаем:

There has been a serious error loading the forum. No futher information is available.
Please contact the administrator if this message persists.
Try Again
Offline kvl12345  
#14 Оставлено : 9 июня 2008 г. 17:20:11(UTC)
kvl12345

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

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

Добрый день.
Посылаем пример используемого нами кода.
Подскажите, пожалуйста, что плохо?

Начало кода:
// прототип функции отправки и чтения сообщений

protected String urlString = "https://..............";
protected URL url = null;
protected HttpURLConnection httpConn = null;
protected OutputStream out = null;
protected InputStream in = null;
protected byte[] array = ..........; // отправляемый запрос
url = new URL(urlString);
java.net.Authenticator.setDefault(new java.net.Authenticator()
{
public PasswordAuthentication getPasswordAuthentication()
{
return (new PasswordAuthentication("log","password".toCharArray()));
}
);

Offline kvl12345  
#15 Оставлено : 9 июня 2008 г. 17:21:17(UTC)
kvl12345

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

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

Продолжение кода:
// УСТАНОВКА СОЕДИНЕНИЯ
httpConn = (HttpURLConnection)url.openConnection();
httpConn.setReadTimeout(10000);
httpConn.setRequestMethod("POST");
httpConn.setDoInput(true);
httpConn.setDoOutput(true);
httpConn.connect();

// ОТПРАВКА СООБЩЕНИЯ
out = httpConn.getOutputStream();
out.write(array);
out.flush();
out.close();

Offline kvl12345  
#16 Оставлено : 9 июня 2008 г. 17:22:36(UTC)
kvl12345

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

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

Продолжение2 кода:
// ЧТЕНИЕ ОТВЕТА
int respCode = httpConn.getResponseCode();
if( respCode != 200 )
{
throw .........; // обработка ошибки
}
in = httpConn.getInputStream();

Offline kvl12345  
#17 Оставлено : 9 июня 2008 г. 17:23:40(UTC)
kvl12345

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

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

// основной цикл чтения потока
char buf[] = new char[8192];
BufferedReader bufReader = new BufferedReader(new InputStreamReader(in));
sbResponseText = new StringBuffer();
try
{
while((k=bufReader.read(buf)) > 0)
{
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// ПОСЛЕ НЕКОТОРОЙ ИТЕРАЦИИ ВЫЛЕТАЕТ ИСКЛЮЧЕНИЕ
sbResponseText.append(buf,0,k);
}
}
Offline kvl12345  
#18 Оставлено : 9 июня 2008 г. 17:24:12(UTC)
kvl12345

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

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

Окончание:
catch(SSLException ex)
{
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
throw new Exception("На больших сообщениях BAD RECORD MAC.",ex);
}
catch (IOException e)
{
throw new Exception(".......");
}
Offline Ольга  
#19 Оставлено : 9 июня 2008 г. 17:24:59(UTC)
Ольга

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

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

Поблагодарили: 3 раз в 3 постах
kvl12345
вы узнали что у вас на другой стороне?
Offline kvl12345  
#20 Оставлено : 9 июня 2008 г. 17:36:00(UTC)
kvl12345

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

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

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