public class RestTemplateUtils {

    @SneakyThrows
    public static RestTemplate getRestTemplate(String keystorePath) {

        // 创建SSLContext changeit一般是证书的默认密码,证书一般是xxx.keystore 文件
        SSLContext sslContext = SSLContextBuilder.create()
                .loadTrustMaterial(new File(keystorePath), "changeit".toCharArray())
                .build();

        // 创建SSLConnectionSocketFactory
        SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext);

        // 创建CloseableHttpClient
        CloseableHttpClient httpClient = HttpClients.custom()
                .setSSLSocketFactory(socketFactory)
                .build();

        // 创建HttpComponentsClientHttpRequestFactory
        HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);

        // 创建RestTemplate
        RestTemplate restTemplate = new RestTemplate(factory);
        return restTemplate;
    }
}
Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐