Мне нужно подключиться к весеннему серверу websocket, который поддерживает SNI.Я использую Spring WebSocket Client, который по умолчанию не отправляет расширение SNI, поскольку jdk 1.8.0 по умолчанию не отправляет расширение SNI.
Расширенное имя_сервера (расширение SNI) не отправляется с jdk1.8.0, но отправляетсяс jdk1.7.0
Официальная документация java предлагает добавить SNI Matcher с SSLParameters и установить SSLParameters на SSLSocket перед выполнением любого HttpsUrlConnection с этим SSLSocket.
https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#SNIExtension
Есть ли способ установить это свойство с помощью Spring WebSocket Client?
Существуют некоторые свойства ClientEndpointCongfig, которые можно установить по данной ссылке, но я не нашел ни одного свойства, которое можно использовать для установки SSLSocketили SSLSocketfactory с клиентом веб-сокета Spring.
https://tomcat.apache.org/tomcat-8.5-doc/web-socket-howto.html
Вот пример кода для клиента веб-сокета Spring:
List<Transport> transports = new ArrayList<>(1);
StandardWebSocketClient standardWebSocketClient = new StandardWebSocketClient();
transports.add(new WebSocketTransport( standardWebSocketClient) );
WebSocketClient transport = new SockJsClient(transports);
WebSocketStompClient stompClient = new WebSocketStompClient(transport);
StompSessionHandler sessionHandler = new MyStompSessionHandler();
stompClient.connect(URL, sessionHandler);