我目前有一个应用程序可以向很多 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)
. . .
因此,我只想为抛出上述异常的特定连接将“jsse.enableSNIExtension”设置为 false。
如何在 HTTPSURLConnection/SSLSocket 级别上执行此操作?
代码
URL url = new URL("https://artofskinmd.localgiftcards.com/");
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
httpConnection.connect();
我正在尝试找到一种方法来更改 HttpsURLConnection 对象的 SSLParameters。但我找不到任何用于设置空服务器名称列表的 setSSLParameters() 方法。我无法在网上找到任何关于为 HttpURLConnection、SSLContext 等设置 SSLParameters 的内容