微笑ゃ对世 2024-09-14 17:55 采纳率: 50%
浏览 40

jdk1.7设置系统TLS协议版本为1.2

jdk1.7在做http请求时,怎么设置使用TLSv1.2?(以下方法均无效)
①使用以下代码


```java
SSLContext ctx = SSLContext.getInstance("TLSv1.2");
            ctx.init(null, null, null);
            SSLContext.setDefault(ctx);

②使用httpclient-4.5.2.jar包
  • 写回答

2条回答 默认 最新

  • 一轮明月照丘壑 2024-09-14 17:56
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    在JDK 1.7中直接设置TLS协议版本为1.2可能会遇到一些困难,因为JDK 1.7默认支持的TLS版本是1.1和较低版本,且在某些平台上并不直接支持TLSv1.2。然而,可以通过使用Apache HttpClient库来间接实现这一目标。以下是使用Apache HttpClient库设置TLS版本为1.2的一种方法:

    首先,确保已将Apache HttpClient 4.5.x库添加到项目中。你可以通过Maven或其他方式添加依赖。

    然后,你可以创建一个自定义的SSLContext,并将其应用于HttpClient的SSL连接工厂。以下是一个示例代码片段:

    import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.ssl.SSLContexts;
    import javax.net.ssl.*;
    import java.security.*;
    
    public class HttpClientTLSv1_2Example {
        public static void main(String[] args) {
            try {
                SSLContext sslContext = SSLContexts.custom()
                        .useProtocol("TLSv1.2") // 使用TLSv1.2协议
                        .build(); // 创建SSLContext实例
                SSLConnectionSocketFactory sslConnectionFactory = new SSLConnectionSocketFactory(sslContext); // 创建SSL连接工厂
                CloseableHttpClient httpClient = HttpClients.custom() // 创建自定义HttpClient实例
                        .setSSLSocketFactory(sslConnectionFactory) // 设置SSL连接工厂到HttpClient实例中
                        .build(); // 创建并返回HttpClient实例
                // 使用httpClient进行HTTP请求...
            } catch (NoSuchAlgorithmException | KeyManagementException | KeyStoreException e) {
                e.printStackTrace();
            }
        }
    }
    

    在这个例子中,我们使用了Apache HttpClient库中的SSLContextsSSLConnectionSocketFactory来创建自定义的SSLContext和SSL连接工厂。通过设置useProtocol("TLSv1.2")来指定使用TLSv1.2协议。然后,我们将自定义的SSL连接工厂应用到HttpClient实例中。这样,使用此HttpClient实例进行HTTP请求时,就会使用TLSv1.2协议进行通信。请注意,这种方法依赖于Apache HttpClient库,因此请确保已正确添加依赖项到你的项目中。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月14日

悬赏问题

  • ¥100 照片生成3D人脸视频
  • ¥15 伪装视频时长问题修改MP4的时长问题,
  • ¥15 JETSON NANO
  • ¥15 VS开发qt时如何在paintgl函数中用pushbutton控制切换纹理
  • ¥20 关于 openpyxl 处理excel文件地问题
  • ¥15 MS中不知道高分子的构型怎么构建模型
  • ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
  • ¥15 matlab代码 关于微分方程和嵌套的分段函数。
  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程