我尝试在运行/调试配置(例如-Dhttps.protocols = TLSv1.2)下的Intellij Idea中设置环境变量,以及通过编程方式将其设置为:

System.setProperty("https.protocols", "TLSv1.2");

我也尝试直接将此属性设置为RESTEasy客户端,例如:

javax.ws.rs.client client = ClientBuilder.newBuilder().build();
client.property("https.protocols", "TLSv1.2");


但没有成功。我还可以采取什么措施来强制客户端使用TLSv1.2?

最佳答案

您可以按照以下方式获取SSLContext实例并将其传递给构建器(省略了异常处理):

SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
// The SSL context must be explicitly initialized
sslContext.init(null, null, null);
ResteasyClient restClient = new ResteasyClientBuilder().sslContext(instance).build();

10-06 11:47