最近在帮助上海技术同事调试网关的时候遇到了一个问题,请求https的网关时候会遇到一个错误peer not authenticated,之后在代码里面开启ssl debug模式
System.setProperty("javax.net.debug","ssl");
之后通过debug信息确认是TLS1.0握手失败
WRITE: TLSv1 Handshake
之后通过工具网站 https://myssl.com/检测、后发现对方的ssl证书对TLS支持的版本最低为1.2, 之后我们在代码里面制定tls版本为 TLSv1.2之后再次请求问题解决。
SSLContext ctx = SSLContext.getInstance("TLSv1.2");