🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #142037

Połączenie SSL z autoryzacją klienta. Problem z połączeniem na innym porcie.

#142037
From: LukaszS
Date: Fri, 31 Oct 2008 09:29
39 lines
2483 bytes
Mam taki problem:
Nawiązuję połączenie HTTP SSL i wysyłam HTTP POST. W duzym skrócie robię to tak:

{
    gatewayURL = new URL(gatewayStr);
    URLConnection connection = gatewayURL.openConnection();
    HttpsURLConnection gc = (HttpsURLConnection) connection;
    gc.setRequestMethod("POST");

    gc.connect();
    dos = new DataOutputStream(gc.getOutputStream());
    dos.writeBytes(query);
    int code = gc.getResponseCode();
    String message = gc.getResponseMessage();

    dos.close();
    gc.disconnect();
}

Przy ponownym wywołaniu tej funkcji, mechanizmy SSL w Javie pamiętają o 
poprzedniej sesji SSL i kontynuują następnego "POST-a" na tym samym porcie. Więc 
dopóki działam szybko, to nic złego się nie dzieje.

Po kilkunastu sekundach nieaktywności jednak port jest automatycznie zamykany i 
przy próbie wysłania jakiegoś POST-a po tym czasie SSL próbuje kontynuować na 
INNYM porcie. Ale wtedy nie działa dobrze uwierzytelnianie SSL i komunikacja się 
nie udaje. Dokładny przebieg komunikacji umieściłem tutaj:

http://www.hobbyarea.pl/files/encrypted_alert.jpg

Jeśli jednak odczekam ponad minutę, to na "TLS Client Hello" serwer znów 
inicjuje połączenie poprawnie - wymieniając się certyfikatami. Jeśli przeładuję 
swój program, to pierwsze jest wysyłane "SSL Client Hello". Próbowałem zamykać 
SSLSocket, ale to nic nie daje.

Czy ktoś może wie jak mogę zaradzić takiemu zachowaniu?
Bardzo dziekuję za pomoc.
-- 
Lukasz
Technical Details
Message-ID: <geej61$sob$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: "LukaszS" <lstela@poczta.onet.WYTNIJpl>
Newsgroups: pl.comp.lang.java
Subject: Połączenie SSL z autoryzacją
 klienta. Problem z połączeniem na innym porcie.
Date: Fri, 31 Oct 2008 10:29:36 +0100
Organization: Onet.pl
Lines: 42
Message-ID: <geej61$sob$1@news.onet.pl>
NNTP-Posting-Host: dxq10.internetdsl.tpnet.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1225445377 29451 83.14.42.10 (31 Oct 2008 09:29:37 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Fri, 31 Oct 2008 09:29:37 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2869
X-Sender: G/a+7lcZXN5mdis97dGJDRy1a8HEt45V
X-Newsreader: Microsoft Outlook Express 6.00.2900.2869
X-Priority: 3
X-MSMail-Priority: Normal
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit