我是SSL连接新手。我需要在Java 7中使用TLSv1.2进行HTTPS连接,因为PayPal已将其沙箱环境移至TLSv1.2。我尝试使用其他帖子中的代码来启用tlsv1.2并使用HttpClient建立安全连接。
final SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
sslContext.init(null, null, null);
final SchemeRegistry schemeRegistry = new SchemeRegistry();
final Scheme scheme = new Scheme("https", sslContext.getSocketFactory(), 443);
schemeRegistry.register(scheme);
final BasicClientConnectionManager cm = new BasicClientConnectionManager(schemeRegistry);
final DefaultHttpClient httpClient = new DefaultHttpClient(cm);
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
final HttpResponse response = httpClient.execute(httpPost);
我在使用sslContext.getSocketFactory()创建Scheme时遇到错误,因为它是SSLSocketFactory类型,而Scheme正在寻找SocketFactory。我试图对类型进行类型转换但返回同样的问题。如果我错过了什么,请帮忙。