java连接https时禁用证书验证.
来源:互联网 发布:js格式化日期字符串 编辑:程序博客网 时间:2024/06/16 08:39
import java.io.File;import java.security.cert.CertificateException;import java.util.List;import java.util.Map;import javax.net.ssl.SSLContext;import org.apache.http.conn.ssl.SSLConnectionSocketFactory;import org.apache.http.conn.ssl.TrustSelfSignedStrategy;import org.apache.http.conn.ssl.TrustStrategy;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.ssl.SSLContexts;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;import org.springframework.security.core.annotation.AuthenticationPrincipal;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.client.RestTemplate; public String test_getssoinfo() throws Exception { TrustStrategy acceptingTrustStrategy = new TrustStrategy() { @Override public boolean isTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { System.out.println("in isTrusted" ); // TODO 完成方法实现 return true; } } ; SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom() .loadTrustMaterial(null, acceptingTrustStrategy) .build(); SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext); CloseableHttpClient httpClient = HttpClients.custom() .setSSLSocketFactory(csf) .build(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(httpClient); RestTemplate restTemplate = new RestTemplate(requestFactory);// RestTemplate restTemplate = new RestTemplate(); String userJsonStr = restTemplate.getForObject("https://www.xxx.yy/", String.class); return userJsonStr; }
okhttp:
X509TrustManager trustManager = new X509TrustManager(){@Overridepublic void checkClientTrusted(java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException{}@Overridepublic void checkServerTrusted(java.security.cert.X509Certificate[] arg0, String arg1) throws java.security.cert.CertificateException{}@Overridepublic java.security.cert.X509Certificate[] getAcceptedIssuers(){StrUtil.log("getAcceptedIssuers()");return new X509Certificate[0];}};SSLContext sslContext = SSLContext.getInstance("SSL");sslContext.init(null, new X509TrustManager[] { trustManager }, new java.security.SecureRandom());SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();builder.sslSocketFactory(sslSocketFactory, trustManager).hostnameVerifier(new HostnameVerifier(){@Overridepublic boolean verify(String hostname, SSLSession session){StrUtil.log("verify() hostname:" + hostname + ", session:" + (session != null ? session.toString() : "null"));return true;}});
阅读全文
0 0
- java连接https时禁用证书验证.
- java访问未验证证书的HTTPS
- java绕过证书验证访问https
- java访问未验证证书的HTTPS
- java ssl https 连接详解 生成证书
- java ssl https 连接详解 生成证书
- java ssl https 连接详解 生成证书
- java ssl https 连接详解 生成证书
- JAVA SSL HTTPS 连接详解 生成证书
- java ssl https 连接详解 生成证书
- java ssl https 连接详解 生成证书
- java ssl https 连接详解 生成证书
- java androidOKHttp HTTPS 请求证书验证 PFX证书(2)
- Https验证证书
- Https 证书验证问题
- https之证书验证
- java请求https地址如何绕过证书验证?
- java 关于httpclient 请求https (如何绕过证书验证)
- jQuery Validate使用笔记
- 每日英语阅读(三十八)
- js练习(4)
- 面试题(1)
- 机器学习技法系列二
- java连接https时禁用证书验证.
- SQL优化:索引优化
- 2017-8-22
- C++ OCCI -1073741701 (0xc000007b)应用程序无法打开的一种解决方法
- 【jsoup】从元素抽取属性,文本和HTML
- 学习java第10天
- APP产品的生命历程与”死亡陷阱”
- matplotlib与pyecharts:pie饼图
- 匈牙利算法 最大二分图匹配