問題タブ [sslsocketfactory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
28222 参照

android - HttpsURLConnection でプロトコルとして SSL を無効にする

POODLEの脆弱性のため、Amazon AWS でホストされている私のサーバーは SSLv3 をサポートしなくなりました。

その結果、私の Android アプリがサーバーに対して行う最初の HTTPS 接続は、接続が確立されているときにエラーになります。

エラーは最初のリクエストでのみ発生します。後続のリクエストはしばらくの間機能します。

これを修正するために、Android クライアントが受け入れるプロトコルのリストから SSL を削除し、TLS のみを使用するようにしています。これを行うために、有効なプロトコルとサポートされている暗号スイートのリストから SSL を削除するカスタム SSLSocketFactory を設定しました。

ご覧のとおり、私の SSLSocketFactory は別の SSLSocketFactory に委譲し、有効なプロトコルのリストから SSL を削除するだけです。

としてこの工場を設立

これで問題は解決しません。時々、接続が確立されたときにまだエラーが表示されます。奇妙なことに、これで問題は解決しませんが、明らかに問題の発生を最小限に抑えることができます。

Android クライアントの HttpsUrlConnection で強制的に TLS のみを使用するにはどうすればよいですか?

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

0 投票する
1 に答える
97 参照

java - SSL を使用してクライアントとサーバー間でデータが転送されない

これは私のサーバーコードです

}

================================================== ===============

これは私のクライアントコードです

=============================================

}

================================================== ==============

いくつかの提案をしてください...どうすればチャネル経由でデータを転送できますか?

0 投票する
0 に答える
739 参照

java - SSLCertificateSocketFactory.getInsecure を使用して作成された SSLSocket で SSL 証明書の検証を有効にする方法

次のプロパティで SSLSocket を作成しようとしています。

  1. SSL証明書の検証を行う必要があります。
  2. カスタム SNI (サーバー名表示) を設定できるようにする必要があります。

私が理解したことから:

  1. SSLCertificateSocketFactory.getDefaultカスタム SNI を設定することはできませんが、SSL 証明書の検証は行います。
  2. SSLCertificateSocketFactory.getInsecureカスタム SNI を設定できますが、SSL 証明書の検証は行いません。

したがって、最善の解決策は、.xml を使用して作成された SSLSocket で SSL 証明書の検証を有効にすることSSLCertificateSocketFactory.getInsecureです。

次のコードを使用してカスタム SNI を設定しています。

0 投票する
0 に答える
1514 参照

android - SSL ソケット接続を開けません

次のコードがあります。

DER でエンコードされた証明書「rootcert.der」があります。私が直面している問題は、次のコード行が実行されるときです。

次の例外が発生します。

誰かが上記の解決策を提案するのを手伝ってもらえますか?

0 投票する
0 に答える
89 参照

android - SSL を使用した複数のクライアント サーバー要求

サーバー証明書を読み取り、サーバーへの SSLSocket 接続を行うコードがあります。以下は、高レベルのコードです。

今私の要件は、サーバーの応答を受信し、別のクライアント要求を送信することです。そのために、次のことをもう一度実行する必要がありますか?

または、単に以下のステートメントを呼び出すことができますか?

基本的に、コードを効率的にして、不要なソケット/HTTPS 呼び出しを行わないようにするにはどうすればよいでしょうか?

0 投票する
1 に答える
308 参照

android - サーバー ソケットが閉じられない

特定の IP/ポートでリッスンしているサーバーがあります。彼らが開いたソケットは永続的であり、クライアントから CLOSE メッセージ、つまり ZERO バイトを受け取るまで閉じません。クライアントコードは次のとおりです。

上記のコードが実行されると、実際に Android アプリを終了するまで、サーバーは CLOSE メッセージを受信しません。

サーバーがクライアントから CLOSE メッセージを取得して他のクライアントへの接続を解放するように、私が何をする必要があるか教えてください。

もう 1 つの観察結果は、上記のコードを再実行、つまりコピー アンド ペーストして、もう 1 つの要求を順番に送信しようとすると、最初に開いたソケットを再利用できることです。一方、条件を削除すると:

コードを強制的に実行します。

次に、新しいソケットを作成し、SSL ハンドシェイクを再度行います。これは正常な動作ですか?