From 6301c821cfdf9e8b8dfd8d720e6a1277d11a7182 Mon Sep 17 00:00:00 2001 From: Sam Nelson Date: Thu, 7 May 2020 14:07:02 -0700 Subject: [PATCH 1/2] fixed ssl with proxy --- .../websocket/WebSocketClientWrapper.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java index cce5857a..04742f53 100644 --- a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java +++ b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java @@ -1,7 +1,9 @@ package com.pusher.client.connection.websocket; import java.io.IOException; +import java.net.InetSocketAddress; import java.net.Proxy; +import java.net.Socket; import java.net.URI; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; @@ -10,6 +12,8 @@ import javax.net.ssl.SSLException; import javax.net.ssl.SSLSocketFactory; +import org.java_websocket.WebSocket; +import org.java_websocket.WebSocketImpl; import org.java_websocket.client.WebSocketClient; import org.java_websocket.handshake.ServerHandshake; @@ -37,9 +41,15 @@ public WebSocketClientWrapper(final URI uri, final Proxy proxy, final WebSocketL // certificates final SSLSocketFactory factory = sslContext.getSocketFactory();// (SSLSocketFactory) - // SSLSocketFactory.getDefault(); + // SSLSocketFactory.getDefault(); - setSocket(factory.createSocket()); + int port = uri.getPort(); + if( port == -1 ) { + port = WebSocketImpl.DEFAULT_WSS_PORT; + } + Socket socket = new Socket(proxy); + socket.connect(new InetSocketAddress(uri.getHost(), port)); + setSocket(factory.createSocket(socket, uri.getHost(), port, true)); } catch (final IOException e) { throw new SSLException(e); From 208d29a0e7077a63e11111d9b3d64edc75ccc99d Mon Sep 17 00:00:00 2001 From: sonologico <1592315+sonologico@users.noreply.github.com> Date: Fri, 21 Oct 2022 16:58:11 +0200 Subject: [PATCH 2/2] Update WebSocketClientWrapper.java --- .../client/connection/websocket/WebSocketClientWrapper.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java index 73d2fad5..42bf50ef 100644 --- a/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java +++ b/src/main/java/com/pusher/client/connection/websocket/WebSocketClientWrapper.java @@ -53,6 +53,8 @@ public WebSocketClientWrapper(final URI uri, final Proxy proxy, final WebSocketL } catch (final IOException e) { throw new SSLException(e); + } catch (final NoSuchAlgorithmException e) { + throw new SSLException(e); } catch (final KeyManagementException e) { throw new SSLException(e); }