Currently StandardWebSocketClient supports SSL using user properties:
standardWebSocketClient.setUserProperties(Map.of(Constants.SSL_CONTEXT_PROPERTY, sslContext));
Unfortunately this support ends with Tomcat 11. New way to go:
ClientEndpointConfig endpointConfig = ClientEndpointConfig.Builder.create().sslContext(sslContext).build();
But the creation of ClientEndpointConfig is capsulated in the class StandardWebSocketClient, so sslContext(...) can not be inserted there. Would it be possible to enable that?
Comment From: snicoll
That looks reasonable to me. Would moving createEndpointConfig
to a protected method do the trick for you?
Comment From: wolf-itc
Hi Stéphane, thank you for taking the time to look at this! Yes, I think this should work. Best regards Martin
Comment From: jhoeller
While for the reactive StandardWebSocketClient
, I've turned createEndpointConfig
to a protected method indeed (in line with some other protected methods there), I went with direct SSLContext
support in the form of a setSslContext
method on the regular StandardWebSocketClient
(along the lines of the existing user properties support there).