栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

扩展服务器名(SNI扩展)未与jdk1.8.0一起发送,但与jdk1.7.0一起发送

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

扩展服务器名(SNI扩展)未与jdk1.8.0一起发送,但与jdk1.7.0一起发送

如前所述,原因与JDK错误有关,在JDK错误中,使用setHostnameVerifier()会破坏SNI(扩展名server_name)。 https://bugs.openjdk.java.net/browse/JDK-8144566

解决方法:经过测试,我们发现将连接的SSLSocketFactory设置为默认值几乎可以解决所有问题。

这不起作用:

HttpsURLConnection.setSSLSocketFactory((SSLSocketFactory) SSLSocketFactory.getDefault());

这确实有效:

HttpsURLConnection.setSSLSocketFactory(new SSLSocketFactoryFacade());

因此,要为JAX-WS客户端修复它,可以执行以下操作:

bindingProvider.getRequestContext().put("com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory", new SSLSocketFactoryFacade());

我们的SSLSocketFactory外观:(请注意,它实际上什么都不做)

public class SSLSocketFactoryFacade extends SSLSocketFactory {    SSLSocketFactory sslsf;    public SSLSocketFactoryFacade() {        sslsf = (SSLSocketFactory) SSLSocketFactory.getDefault();;    }    @Override    public String[] getDefaultCipherSuites() {        return sslsf.getDefaultCipherSuites();    }    @Override    public String[] getSupportedCipherSuites() {        return sslsf.getSupportedCipherSuites();    }    @Override    public Socket createSocket(Socket socket, String s, int i, boolean b) throws IOException {        return sslsf.createSocket(socket, s, i, b);    }    @Override    public Socket createSocket(String s, int i) throws IOException, UnknownHostException {        return sslsf.createSocket(s, i);    }    @Override    public Socket createSocket(String s, int i, InetAddress inetAddress, int i1) throws IOException, UnknownHostException {        return sslsf.createSocket(s, i, inetAddress, i1);    }    @Override    public Socket createSocket(InetAddress inetAddress, int i) throws IOException {        return createSocket(inetAddress, i);    }    @Override    public Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress1, int i1) throws IOException {        return createSocket(inetAddress, i, inetAddress1, i1);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454157.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号