ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
2104
2104
EMPFEHLEN
-
11.01.10 16:52 #1
- Registriert seit
- Oct 2003
- Beiträge
- 114
Hi Forum
In meiner Appli lässt sich ein integrierter Web-Server via .properties-Datei konfigurieren. Man gibt einfach den Listener Port ein (bspw. 8080) und ob SSL verwendet werden soll oder nicht.
Bspw.:
webserver.port = 8080
;1 = use ssl (https), else http-connection
webserver.ssl = 1
in diesem Fall, kann eine Webseite https://localhost:8080 aufgerufen werden
oder
webserver.port = 12345
;1 = use ssl (https), else http-connection
webserver.ssl = 0
Webseite: http://localhost:12345
So, das funktioniert sehr schön!
Wenn der admin nun ssl konfiguriert aber der Benutzer einfach nur http:// eingibt, erhält der Benutzer eine Seite mit Hieroglyphen (Zudem wird eine eben die Exception: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?) geschmissen.
Wie kann ich dies nun abfangen? ich möchte, dass dem Benutzer trotzdem eine Webseite angezeigt wird, dass er eben https:// verwenden muss! Ich habe versucht in den OutputStream des Sockets zu schreiben, aber eben, das t auch nicht!
Ideen?
cheerioh & thx
SiS
-
11.01.10 17:30 #2Code :
1 2 3 4 5 6 7 8 9 10 11
private void call(URL url) throws AnwendungsException { try { [COLOR=lime]// mach was[/COLOR] } catch (SSLException e) { if (url.toString().startsWith("http://") { call(new URL("https", url.getHost(), url.getPort(), url.getFile())); [COLOR=lime]// erneuter Aufruf[/COLOR] } else { throw new AnwendungsException(e); } } }CU schnuffie
Fragliche Fragen stellende Fragensteller sind für verantwortungslose Antworten antwortender verantwortlicher Antworter selbst verantwortlich.
-
15.02.10 11:36 #3
- Registriert seit
- Oct 2003
- Beiträge
- 114
Danke, aber ich verwende einen Socket. Kann ich da auch irgendwie das Protokoll auslesen?
Code :1 2 3 4 5 6 7 8
if (this.isSSLConnection) { clientSocket = sslss.accept(); } else { clientSocket = ss.accept(); } BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream(), Charset.forName("ISO-8859-1"))); String line = in.readLine(); // hier javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
Oder muss ich das irgendwie anders lösen?
Thx & Gruess
SiS
-
15.06.10 12:02 #4
- Registriert seit
- Oct 2003
- Beiträge
- 114
ich hab etwas im Sinne von
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
try { line = in.readLine(); } catch (SSLException se) { if (se.getMessage().toLowerCase().indexOf("plaintext") != -1) { PrintWriter out = new PrintWriter(clientSocket.getOutputStream()); out.print("HTTP/1.1 301 Moved Permanently\n"); out.print("Server: My Server\n"); out.print("Location: https://1.1.1.0:1234"); out.print("Content-Type: text/html\n\n"); out.println("SSL connection required."); // Click <a href='" + getLoginUrl() + "'>here</a> to return to login site!"); out.close(); in.close(); clientSocket.close(); return; } else { throw new Exception(se); } }
Doch auch das funktioniert irgendwie nicht! Kann doch nicht so schwierig sein, ein Redirekt zu machen, wenn ein Benutzer mit http daher kommt aber https gefordert ist?
Gruz & Danke
SiS
-
02.09.10 16:35 #5
- Registriert seit
- Oct 2003
- Beiträge
- 114
hochschieben.
Ähnliche Themen
-
Rückmeldung nach DB eintrag
Von funnyzocker im Forum PHPAntworten: 2Letzter Beitrag: 05.09.07, 12:44 -
SWT: GUI -> Keine Rückmeldung
Von RipdEaTh im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 5Letzter Beitrag: 07.12.06, 23:32 -
Unrecognized Windows sockets error bei Server-Programm
Von Frosch99 im Forum JavaAntworten: 0Letzter Beitrag: 15.05.06, 12:14 -
JDOM + Unrecognized Type
Von bl4ck29 im Forum JavaAntworten: 0Letzter Beitrag: 29.06.05, 20:21 -
Bekomme keine Rückmeldung
Von borsti im Forum Flash PlattformAntworten: 11Letzter Beitrag: 19.04.05, 15:17





Zitieren
Login




