| | |
| | | import org.springframework.http.converter.StringHttpMessageConverter; |
| | | import org.springframework.web.client.RestTemplate; |
| | | |
| | | import javax.net.ssl.HttpsURLConnection; |
| | | import javax.net.ssl.SSLContext; |
| | | import javax.net.ssl.TrustManager; |
| | | import javax.net.ssl.X509TrustManager; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.security.NoSuchAlgorithmException; |
| | | |
| | | /** |
| | | * RestTemplate的配置,SpringBoot封装的HTTP协议,GET和POST请求方法 |
| | |
| | | public class RestTemplateConfig { |
| | | |
| | | @Bean |
| | | public RestTemplate restTemplate(ClientHttpRequestFactory factory) { |
| | | public RestTemplate restTemplate(ClientHttpRequestFactory factory) throws Exception { |
| | | RestTemplate restTemplate = new RestTemplate(factory); |
| | | // 禁用SSL证书验证 |
| | | TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() { |
| | | @Override |
| | | public java.security.cert.X509Certificate[] getAcceptedIssuers() { |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) { |
| | | } |
| | | |
| | | @Override |
| | | public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) { |
| | | } |
| | | }}; |
| | | |
| | | // 创建SSLContext,使用禁用SSL证书验证的TrustManager |
| | | SSLContext sslContext = SSLContext.getInstance("SSL"); |
| | | sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); |
| | | |
| | | // 设置全局默认的SSLSocketFactory,使RestTemplate使用禁用SSL证书验证的SSLContext |
| | | HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); |
| | | restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); |
| | | return restTemplate; |
| | | } |