私は現在、多くの URL に対して HTTP ポスト リクエストを行うアプリケーションを持っています。一部の接続は、次の例外で失敗しています。
スレッド「メイン」の例外 javax.net.ssl.SSLProtocolException: ハンドシェイク アラート: unrecognized_name at sun.security.ssl.ClientHandshaker.handshakeAlert(ClientHandshaker.java:1410) at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java: 2004) で sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1113) で sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1363) で sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java :1391) で sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1375) で、sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563) で sun.net.www.protocol で。 https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) (sun.net.www.protocol.https.HttpsURLConnectionImpl)。connect(HttpsURLConnectionImpl.java:153) at com.amazon.cba.iopn.test.MainTest.connectWithFallbackIfRequired(MainTest.java:246) at com.amazon.cba.iopn.test.MainTest.createHttpConnection(MainTest.java:201) com.amazon.cba.iopn.test.MainTest.processLine(MainTest.java:105) で com.amazon.cba.iopn.test.MainTest.main(MainTest.java:99) で
ネットの他の記事を読んだ後、これはサーバー構成の問題であることがわかりました。応答としてサーバーは、Java が例外として扱う警告をスローします。回避策は、jsse.enableSNIExtensionを「false」に設定することです。
- jsse.enableSNIExtensionシステム プロパティをfalseに設定した場合、クライアントがさらすセキュリティ リスクは何ですか?
PS: HTTPS 経由で接続しようとしているすべての URL。したがって、証明書の検証があります。