Android SDKでのSSL/TLS Server Name Indication(SNI)拡張機能のサポートについて知りたいのですが。
私の知る限り、Android SDKにはpartialサポートがあります。現在の状況は次のとおりです。
HttpsURLConnection
APIとのTLS接続はSNIをサポートします。Androidバグトラッカーには、この問題に関する オープンチケット があります。
次のURLに接続して、SNIサポートをテストすることもできます。 https://sni.velox.ch/
SNIはHttpClientライブラリでも使用できます: http://blog.dev001.net/post/67082904181/Android-using-sni-with-Apache-httpclient-library
幸い、 HttpsURLConnection は_Android 2.3
_以降SNI
をサポートしています。 Android 2.2 (and older)
をサポートする必要がある場合の回避策の1つは、一意のポートに代替仮想ホストを設定して、どのサーバー証明書を返すかが明確になるようにすることです。
詳細については、 このリンク を確認してください。これが将来のユーザーに役立つことを願っています。
情報のためだけに
新しいバージョンのSSL、具体的には_
TLSv.1.0 and later
_は、 Server Name Indication(SNI) をサポートします。これにより、SSLクライアントはサーバーに対して目的のホスト名を指定できるため、適切な証明書を返すことができます。