[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