2017-01-24 20 views

答えて

0

https://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.htmlを参照してください:JSSEクライアントの

サーバ名の表示(SNI): はJSSE クライアントにサーバ名の表示(SNI)拡張をサポートするJava SE 7のリリースを。 SNIはRFC 4366に記述されています。これにより、TLSクライアントは 仮想サーバーに接続できます。

しかし、これは別の方法で実装されています。たとえば、https://issues.apache.org/jira/browse/HTTPCLIENT-1119でこれについて説明します。関連の引用は

のJava 8は javax.net.sslのパッケージ

の外に提供する完全に異なるSNIのAPIはそうです、あなたは、Java 7

と、そのクラスを持っていないだろうしている可能性があります

SNIをJava 7で使用する方法については、this threadを参照してください。

+0

ありがとう、これは役立ちます。実行時に[この問題]のSNIを有効/無効にする必要がありました(http://stackoverflow.com/questions/7615645/ssl-handshake-alert-unrecognized-name-error-since-upgrade-to-java-1-7 -0/14884941#14884941)。 SNIパラメータを設定するオプションはJava 7では直接利用できないので、SNIを無効にするためにhostnameが空のSSLSocketFactoryのcreateSocket()メソッド名を乗り越えます。 – ankshah