Jetty Websocket 连接 - 忽略自签名证书
Posted
技术标签:
【中文标题】Jetty Websocket 连接 - 忽略自签名证书【英文标题】:Jetty Websocket connection - ignore self signed certs 【发布时间】:2014-12-05 21:27:57 【问题描述】:有没有办法(除了打开浏览器并接受自签名证书)告诉 Jetty WebSockets 在打开 websocket 连接时忽略自签名证书错误?我已经验证我的代码在存在有效证书的环境中工作,因此这肯定与在其他环境中使用自签名证书有关。
public static void main(String[] args)
String destUri = "wss://example.ws.uri.com";
if (args.length > 0)
destUri = args[0];
SslContextFactory sslContextFactory = new SslContextFactory();
WebSocketClient client = new WebSocketClient(sslContextFactory);
SimpleEchoSocket socket = new SimpleEchoSocket();
try
client.start();
URI echoUri = new URI(destUri);
ClientUpgradeRequest request = new ClientUpgradeRequest();
client.connect(socket, echoUri, request);
System.out.printf("Connecting to : %s%n", echoUri);
socket.awaitClose(5, TimeUnit.SECONDS);
catch (Throwable t)
t.printStackTrace();
finally
try
client.stop();
catch (Exception e)
e.printStackTrace();
【问题讨论】:
【参考方案1】:你可以告诉 SslContextFactory 不要验证证书
SslContextFactory sec = new SslContextFactory();
sec.setValidateCerts(false);
【讨论】:
以上是关于Jetty Websocket 连接 - 忽略自签名证书的主要内容,如果未能解决你的问题,请参考以下文章
jetty 9,websockets 和关闭服务器端的 websocket 连接
Jetty 9.2.x Websocket Server连接在使用Firefox而不是Chrome时连接后自动关闭