2016-01-18 5 views
3
SslContextFactory sec = new SslContextFactory(); 
sec.setValidateCerts(false); 
WebSocketClient client = new WebSocketClient(sec); 

Приведенный выше код реализован для Jetty WebSockets, чтобы сообщить клиенту java об отключении проверки сертификата. Есть ли способ, которым я могу добиться того же в Java API для Tomcat8 WebSockets (JSR-356)?Игнорировать подтверждение сертификата - Tomcat8 WebSocket (JSR-356)

PS: Я пробовал this метод. Он не работает для подключения Secure WebSocket для Tomcat WebSockets

ответ

2

Создал ли вы сам подписанный сертификат и пытался его использовать? Затем импортируйте свой самоподписанный сертификат в новое хранилище ключей и используйте это хранилище ключей как хранилище доверия на своей стороне клиента.

Для клиента Тир WebSocket, я использую как это:

String keyStorePath = StompClientTest.class.getResource("/myapp.keystore").getPath(); 
System.getProperties().put("javax.net.debug", "all"); // debug your certificate checking 
System.getProperties().put(SslContextConfigurator.KEY_STORE_FILE, keyStorePath); 
System.getProperties().put(SslContextConfigurator.TRUST_STORE_FILE, keyStorePath); 
System.getProperties().put(SslContextConfigurator.KEY_STORE_PASSWORD, "secret"); 
System.getProperties().put(SslContextConfigurator.TRUST_STORE_PASSWORD, "secret"); 
final SslContextConfigurator defaultConfig = new SslContextConfigurator(); 
defaultConfig.retrieve(System.getProperties()); 

SslEngineConfigurator sslEngineConfigurator = new SslEngineConfigurator(defaultConfig); 
sslEngineConfigurator.setHostVerificationEnabled(false); 
StandardWebSocketClient webSocketClient = new StandardWebSocketClient(); 
webSocketClient.getUserProperties().put(ClientProperties.SSL_ENGINE_CONFIGURATOR, sslEngineConfigurator); 

Для коту прочитать ответ на следующий вопрос: https://stackoverflow.com/a/32205864/386213

Смежные вопросы