web-dev-qa-db-ja.com

Android SSL-SNIサポート

Android SDKでのSSL/TLS Server Name Indication(SNI)拡張機能のサポートについて知りたいのですが。

24
user736435

私の知る限り、Android SDKにはpartialサポートがあります。現在の状況は次のとおりです。

  1. Gingerbreadリリース以降、HttpsURLConnectionAPIとのTLS接続はSNIをサポートします。
  2. Androidに付属のApacheHTTPクライアントライブラリはSNIをサポートしていません
  3. Android WebブラウザはSNIもサポートしていません(Apache HTTPクライアントAPIを使用しているため)

Androidバグトラッカーには、この問題に関する オープンチケット があります。

次のURLに接続して、SNIサポートをテストすることもできます。 https://sni.velox.ch/

25
Jcs

SNIはHttpClientライブラリでも使用できます: http://blog.dev001.net/post/67082904181/Android-using-sni-with-Apache-httpclient-library

5
junique

幸い、 HttpsURLConnection は_Android 2.3_以降SNIをサポートしています。 Android 2.2 (and older)をサポートする必要がある場合の回避策の1つは、一意のポートに代替仮想ホストを設定して、どのサーバー証明書を返すかが明確になるようにすることです。

詳細については、 このリンク を確認してください。これが将来のユーザーに役立つことを願っています。

情報のためだけに

新しいバージョンのSSL、具体的には_TLSv.1.0 and later_は、 Server Name Indication(SNI) をサポートします。これにより、SSLクライアントはサーバーに対して目的のホスト名を指定できるため、適切な証明書を返すことができます。

1