nv-websocket-client 自签名证书

Posted

技术标签:

【中文标题】nv-websocket-client 自签名证书【英文标题】:nv-websocket-client self-signed certificate 【发布时间】:2017-06-23 03:43:25 【问题描述】:

我正在尝试使用自签名证书连接到我的 Intranet 上的 WSS 服务器。我已经将 Volley 用于 HTTPS 和 TooTallNate 库用于 WSS,并且我已经能够设置 SSLContext 以接受所有证书。我目前正在切换到 nv-websocket-client 以便我可以添加自定义标头,但是,看在上帝的份上,似乎无法绕过 SSL 证书验证。我继续遇到错误消息“对等方的证书...与预期的主机名不匹配”。代码正是文档中的内容? v2.2有什么不同吗?这是我正在使用的代码,

SSLContext context = NaiveSSLContext.getInstance("TLS");

ws = new WebSocketFactory().setSSLContext(context).setConnectionTimeout(5000)
            .createSocket("wss://192.168.1.164/chat/")
            .addListener(new WebSocketAdapter() 
                @Override
                public void onTextMessage(WebSocket websocket, String message) 
                    // Received a text message.
                   
                @Override
                public void onConnectError(WebSocket websocket, WebSocketException e)
                    mTextView.setText(e.getMessage());
                
            );
ws.connectAsynchronously();`

谁能帮帮我。谢谢!

【问题讨论】:

【参考方案1】:

该软件包的作者已将其作为 v2.3 中新功能的问题解决

WebSocketFactory.setVerifyHostname(false)

https://github.com/TakahikoKawasaki/nv-websocket-client/issues/116

【讨论】:

以上是关于nv-websocket-client 自签名证书的主要内容,如果未能解决你的问题,请参考以下文章

什么是自签名SSL证书?

MAC申请自签名的ssl证书

如何创建一个自签名的SSL证书

OpenSSL生成HTTPS自签名证书

openssl 自签名证书 - 安装openssl(一)

如何创建一个自签名的SSL证书