[Javalist] Connection Reset
Istvan Verhas
istvan at verhas.com
2014. Sze. 30., K, 21:14:30 CEST
Szia Zoli,
Az én kis történetemben az volt a felállás, hogy egy java-s alkalmazás kapcsolódott ssl-el egy C++ alkalmazáshoz. Minden jól működött 5-ös java-val de amikor 6-os javaval futattuk úgy, hogy minden változatlan volt akkor connection reset-t kaptunk. A megoldás az volt, hogy a C++ alkalmazásban kellett elvégezni a javítást a java upgrade miatt ugyanis az egy "saját" fejlesztésű részen úgy olvasta a socket buffert, hogy feltételezte, hogy a 4096byte-os buffer mindig tele lesz amíg jön a request és ha kevesebb byte van a bufferben akkor már nem kell olvasni a bufferből tovább. Ha pedig nem kell olvasni akkor le is lehet zárni a kapcsolatot mert keepalive nem volt benne. Persze utána nem is tudta értelmezni a requestet hiszen nem kapta meg az egészet. A 5-ös java is szabványos volt és a 6-os is szabványos. Utóbbi élt azzal a lehetőséggel, hogy elküldjön egy kisebb csomagot is mint amekkora a legnagyobb megengedett csomag méret. Nos a túloldal erre nem számított.
Nem volt egyszerű megtalálni a probléma gyökerét de utólag vicces, hogy a java upgrade egy C++ program módosítását igényli.
Mi ebből a tanulság ami nálad is használható lehet?
- Körül kell nézni a másik oldal logjaiban is hátha fényderül ott valami turpisságra.
- A Connection Reset-t biztos, hogy a túloldal küldi, a java nem fogja csak úgy magától azt gondolni, hogy biztos megunta már a másik végpont.
- A te programod és a soapui is java amelyekből nem megy míg a böngésző nem java ahonnan meg megy. Persze ettől még lehet certificate probléma is.
Egy frissebb tapasztalat volt, hogy szintén java-ból akartam csatlakozni éppen egy AD-hez ssl-en keresztül. Mi sem egyszerűbb letöltöttem a server certificate-jét és hozzáadtam a java keystore-hoz mint megbízható szerver. Újabb próbálkozás és továbbra sem ment vagyis néha ment néha nem. Ekkor kaptam egy "céges" certificate-t a rendszergazdától és azt is hozzáadtam a keystore-hoz. Azóta stabilan működik. A keystore-al kilistázva nem láttam különbséget a két cert között pedig biztos, hogy van mert az informatika nem a csodák világa, csak az ismereteink és az idő véges.
Kiváncsian várjuk az eredményeket bárhol is legyen a hiba.
Verhás István
JIRA szakértő
Verhás & Verhás Szoftver Manufaktúra Kft.
istvan at verhas.com
t: +36(30)3997117
skype: verhasi
On Sep 30, 2014, at 4:42 PM, Zoltán Komáromi wrote:
> Előre is köszönöm.
>
> 2014. szeptember 30. 16:28 Peter Verhas írta, <peter.verhas at gmail.com>:
>
>
> ---------- Forwarded message ----------
> From: Istvan Verhas <istvan at verhas.com>
> Date: Tue, Sep 30, 2014 at 12:08 PM
> Subject: Re: [Javalist] Connection Reset
> To: "Peter Verhas" <peter.verhas at gmail.com>
> Cc: "Istvan Verhas" <istvan at verhas.com>
>
> majd, most dolog van
>
> Verhás István
> JIRA szakértő
> Verhás & Verhás Szoftver Manufaktúra Kft.
> istvan at verhas.com
> t: +36(30)3997117
> skype: verhasi
>
> On Sep 30, 2014, at 10:51 AM, Peter Verhas wrote:
>
>> Írol a listára?
>>
>> On Tue, Sep 30, 2014 at 10:50 AM, Istvan Verhas <istvan at verhas.com> wrote:
>>
>> de igen
>>
>> Verhás István
>> JIRA szakértő
>> Verhás & Verhás Szoftver Manufaktúra Kft.
>> istvan at verhas.com
>> t: +36(30)3997117
>> skype: verhasi
>>
>> On Sep 29, 2014, at 4:59 PM, Peter Verhas wrote:
>>
>>> Nem valami hasonló problémátok volt java6-ról 7-re átállás során?
>>>
>>> ---------- Forwarded message ----------
>>> From: Zoltán Komáromi <kozo1217 at gmail.com>
>>> Date: Mon, Sep 29, 2014 at 10:48 AM
>>> Subject: [Javalist] Connection Reset
>>> To: "Java lista" <javalist at lists.javaforum.hu>
>>>
>>> Sziasztok,
>>>
>>> a következő rejtélyes probléma megoldásához kérnék segítséget:
>>>
>>> Adott egy külső webservice (talán .NET), amihez clinet side certificate segítségével csatlakoznék, van még ezen kívül IP szűrés is a tűzfalukon. Ugyanezen szolgáltató egy másik webservice-és évek óta használom gond nélkül.
>>>
>>> Teljesen szokásos módon építem fel a kapcsolatot, mint ahogy már többször, más esetekben is megtettem.
>>>
>>> Létrehozok egy sslSocketFactory-t és ezt adom meg a portnak (példakód mellékelve). Közvetlenül használom a pfx kulcsot, nem konvertáltam.
>>>
>>> Az handshake végén, vagy közvetlenül utána connection reset hibát kapok.
>>>
>>> Amiket próbáltam:
>>>
>>> -- SSL debug (minden jónak látszik, majd egyszer csak egy connection reset)
>>> -- Kapcsolat felépítése Apache HttpClient segítségével
>>> -- Kulccsere
>>>
>>> A távoli oldalon állítólag nem látszik hiba.
>>>
>>> Mielőtt elkezdenék low level ssl kommunikációt írni, tőletek kérnék segítséget.
>>>
>>> Köszönettel,
>>>
>>> KoZo
>>>
>>>
>>> Test.java
>>>
>>>
>>
>>
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20140930/ed374d77/attachment.html>
További információk a(z) Javalist levelezőlistáról