簡體   English   中英

僅在IOS上SSL握手失敗

[英]SSL handshake fail on IOS only

我正在使用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

我的服務器配置是:

  • info.ssl_cert_filepath =“sslCertificates / myCert.cer”;
  • info.ssl_private_key_filepath =“sslCertificates / myCert”;
  • info.ssl_ca_filepath =“sslCertificates / GlobalSignRootCA.cer”
  • info.ssl_cipher_list =“RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5”

看起來我的問題與openssl-ssl-accept-error-5類似。 然后我嘗試設置一個沒有DH的密碼列表,但我仍然遇到錯誤。 我可能在我的libsocket服務器上缺少配置的東西。

只要我使用商業證書並且它與其他設備一起工作,我就不明白與IOS的聯系失敗了。

非常感謝任何幫助,謝謝!

是否還需要添加GlobalSignRootCA的中間證書?

我做了Steffen建議的檢查。 解決方案是在libwebsocket中設置橢圓曲線Diffie Hellman協議。

謝謝你的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM