0

Firefox OS で SSL 証明書の検証を無効にすることはできますか? 私は Geeksphone dev preview を持っていて、TCPSocket API 経由で IMAP クライアントを作成しようとしていますが、サーバー証明書が何らかの理由で無効です。このエラーが発生しました:

SSL received a record that exceeded the maximum permissible length.
(Error Code: ssl_error_rx_record_too_long) 

私のTCPSocketの初期化は次のとおりです

var TCPSocket = navigator.mozTCPSocket.open(
        "mbp.telekom.de",
        993,
        {useSSL:'starttls'}
    );

GMail または別のアカウントに接続しようとすると、すべて正常に動作します。

これは本当にサーバー証明書エラーですか、それとも別のエラーですか?

ありがとう

4

2 に答える 2

1

証明書の検証をオフにすることは、一般的に悪い考えであり、役に立たない可能性があります。エラーはssl_error_rx_record_too_long、証明書を受け入れるかどうかに関係なく、長すぎるレコードは単に長すぎるということです。このタイプのエラーは、「SSL/TLS には長すぎる」レコード、つまり、有効な SSL/TLS ではないメッセージによって引き起こされる傾向があります。

ここには他にもいくつかの問題があります。

  • ドキュメントによると、そのパラメーターには文字列ではなくTCPSocketブール値を取ります。useSSLコードのどこかに があると仮定するのは公平に思えるif (useSSL) {...}ので'starttls'、構成では としてカウントされtrueます。

  • ポート 993 は、ポート 143 の IMAP+STARTTLS (最初のプレーンテキスト接続の後に同じソケットが SSL/TLS にアップグレードされる場合) ではなく、SSL 経由の IMAP (SSL 経由の最初の接続後) に使用できる傾向があります。

  • のサーバーはmbp.telekom.deSSL/TLS 初期接続を受け入れません (ほとんどの IMAP サーバーがそのポートで行うように) が、STARTTLS 経由で SSL/TLS にアップグレード可能なプレーン テキスト IMAP 接続を受け入れます (代わりにポート 143 で行う必要があります)。これは、サーバーの構成に問題がある可能性があります。これは、接続が機能する理由も説明していますimap.gmail.com(ポート 993 で STARTTLS を使用しない通常の SSL/TLS 接続をサポートしており{useSSL:'starttls'}、実際には を意味するため{useSSL:true})。

原則として、コマンドを使用した後に接続を SSL/TLS にアップグレードするように IMAP クライアントを実装できSTARTTLSますが、同じソケットを SSL/TLS にアップグレードできる必要があります。ドキュメントには、これを許可するものは何もありません(たとえば、JavaTCPSocketと同じ方法で)。SSLSocketFactory.createSocket(Socket, ...)

編集:

TCPSocket.jsのソース コードをざっと見てみると、starttls実際にサポートしているように見えますが、これは文書化されていないupgradeToSecure方法でのみ意味があります。

この方法で IMAP+STARTTLS を実装できる場合があります。RFC 2595STARTTLSで説明されているように、プレーンな IMAP 接続を開始してから、コマンドでSSL/TLS にアップグレードします。これは通常、ポート 143 で行われますが、サーバーはポート 993 でこのように構成されているため (かなり間違っています)、そこでも動作するはずです。

于 2013-09-05T13:32:00.407 に答える
0

これは証明書エラーではなく、SSL プロトコル エラーです。SSL は、データを「フレーム」または「レコード」にパッケージ化します。(ほとんどのパケットですが、ソケット レベルではなく SSL レベルです)。これらのフレームには最大長 (16kb だと思います) があり、サーバーはそれよりも長いフレームを送信しました。理由はわかりませんが、証明書が大きすぎて、SSL ライブラリにバグがある可能性があります。

于 2013-09-05T13:27:52.293 に答える