私はcordova(5.2.0)を使用してアプリケーションを開発しています。 Mac上で 私はjsの中にこのように(証明書は自己署名されていない、長さが2048である)私は安全なのWebSocketコネクションを初期化し、いくつかの時点で、.ipaIOSでSSLハンドシェイクが失敗する
を生成するために、Xcodeの6.4を使用しています:
socket_ip = new WebSocket(wss://perform.domain.com:8080, "image-processing-protocol");
Androidとデスクトップブラウザ(Safariも)との接続が機能しています。サーバー側では
CFNetwork SSLHandshake failed (-9807) which means "Invalid certificate chain"
私が得たメッセージは次のとおりです:
error:00000005:lib(0):func(0):DH
私のサーバ構成は次のとおりです。
-
しかし、私のiPhone(8.4)から私が得ました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" 私の問題はsimilatあるよう
が見えますopenssl-ssl-accept-error-5。私はDHなしで暗号リストを設定しようとしましたが、まだエラーがあります。 私はlibsocketサーバー上で設定するものがないと思われます。
商用証明書を使用していて、他のデバイスと連携している限り、私はIOSとの接続ではわかりません。
ご協力いただきありがとうございます、ありがとうございます!
あなたのウェブサイトを[SSLLabs](https://www.ssllabs.com/ssltest/analyze.html)と照合し、「不完全なチェーン」を探します。それがあなたのサーバ構成を修正していることがわかったら。いくつかのデスクトップブラウザは、サーバ設定でこのような問題を回避しますが、ほとんどの他のSSLクライアントはそうしません。 –