2016-05-26 7 views
1

私は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との接続ではわかりません。

ご協力いただきありがとうございます、ありがとうございます!

+0

あなたのウェブサイトを[SSLLabs](https://www.ssllabs.com/ssltest/analyze.html)と照合し、「不完全なチェーン」を探します。それがあなたのサーバ構成を修正していることがわかったら。いくつかのデスクトップブラウザは、サーバ設定でこのような問題を回避しますが、ほとんどの他のSSLクライアントはそうしません。 –

答えて

0

私はSteffenが提案したように小切手を出しました。 解決策は、libwebsocket内で楕円曲線Diffie Hellmanプロトコルを設定することでした。

ありがとうございました。

0

追加する必要があるGlobalSignRootCAの中間証明書はありますか?

関連する問題