CometD:使用SSL / TLS

时间:2016-05-16 14:13:00

标签: java ssl tls1.2 cometd

如何使用CometD启用安全连接?

当我为BayeuxServer使用"http"协议时,我的应用程序正在运行。如果我切换到"https",我就会失败握手。

在CometD中使用安全连接的正确方法是什么?

这是通过Java客户端。

这是错误:

{failure={exception=java.lang.NullPointerException, message={ext={ack=true}, supportedConnectionTypes=[long-polling],  channel=/meta/handshake, id=4, version=1.0}, connectionType=long-polling}, channel=/meta/handshake, id=4, subscription=null, successful=false}

我没有在服务器上看到任何异常(即空指针不在我们的代码中),如果我使用HTTP,它可以正常工作。

我已经为Java客户端拼凑了以下内容:

 SslContextFactory sslContextFactory = new SslContextFactory();
            sslContextFactory.setTrustAll(true); // only interacting with our backend, so accept self-signed certs

            WebSocketClient webSocketClient = new WebSocketClient(sslContextFactory);
            webSocketClient.start();
            ClientTransport wsTransport = new JettyWebSocketTransport(null, null, webSocketClient);

            HttpClient httpClient = new HttpClient(sslContextFactory);
            httpClient.start();
            ClientTransport httpTransport = new LongPollingTransport(null, httpClient);

我相信会这样做。

我仍然需要弄清楚如何配置服务器端cometd以接受安全连接。我正在使用Spring设置。

服务器端的答案是:它很痛苦。

以下是使用jetty maven插件的方法:

http://juplo.de/configure-https-for-jetty-maven-plugin-9-0-x/#comment-53352

0 个答案:

没有答案