我正在使用cordova(5.2.0)开发应用程序。 在Mac上,我使用Xcode 6.4生成.ipa
在某些时候,我在js中初始化一个安全的websocket连接(证书不是自签名的,长度是2048):
socket_ip = new WebSocket(wss://perform.domain.com:8080, "image-processing-protocol");
连接正在Android上运行,也适用于桌面浏览器(也是Safari)。
然而,从我的Iphone(8.4)我得到了:
CFNetwork SSLHandshake失败(-9807),这意味着"无效的证书链"
在服务器端,我收到的消息是:
错误:00000005:LIB(0):函数(0):DH
我的服务器配置是:
看起来我的问题与openssl-ssl-accept-error-5相似。然后我尝试设置一个没有DH的密码列表,但我仍然遇到错误。 我可能错过了在我的libsocket服务器上配置的东西。
只要我使用商业证书并且与其他设备合作,我就无法理解与IOS的联系失败。
非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
您是否还需要添加GlobalSignRootCA的中间证书?
答案 1 :(得分:0)
我按照Steffen的建议做了检查。 解决方案是在libwebsocket中设置椭圆曲线Diffie Hellman协议。
感谢您的帮助。