java调用Https接口报错问题记录

项目使用jdk1.7

调用Https接口报错:java.net.SocketException:Connection reset

 

最后确认异常原因为Https连接,接口调用端与服务端TLS版本不一致导致,

接口调用端:JDK1.7默认使用TLS版本为TLSv1.0,也支持TLSv1.1,TLSv1.2

接口提供端(服务端):JDK1.8默认使用TLSv1.2。

SSLContext ctx=SSLContext.getInstance("TLS");

改为:

SSLContext ctx=SSLContext.getInstance("TLSv1.2");

即解决!

 

详细原因可参考:

TLS版本不适配导致Connection reset问题

https://www.imooc.com/article/details/id/299109

你可能感兴趣的:(异常记录,java,java)