JAVA HttpsURLConnection 忽略对SSL valid 的验证
2014-02-14 03:34
357 查看
有时候我们对https进行测试的时候,经常自签署一个证书给server,这个certificate经常是不能通过验证的,但是我们又要用这个https,所以我们经常来忽略对SSL validation的验证。
.NET很简单,就一句话
Java的稍微麻烦一点
import sun.security.mscapi.SunMSCAPI;
import javax.net.ssl.*;
import java.io.*;
import java.net.URL;
import java.security.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
.NET很简单,就一句话
System.Net.ServicePointManager.ServerCertificateValidationCallback += (se, cert, chain, sslerror) => { return true; };
Java的稍微麻烦一点
import sun.security.mscapi.SunMSCAPI;
import javax.net.ssl.*;
import java.io.*;
import java.net.URL;
import java.security.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) { } public void checkServerTrusted(X509Certificate[] certs, String authType) { } } }; SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HostnameVerifier allHostsValid = new HostnameVerifier(){ public boolean verify(String hostname, SSLSession session) { return true; } }; HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid); URL url = new URL(https_url); HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); SSLSocketFactory sslSocketFactory = sc.getSocketFactory(); conn.setSSLSocketFactory(sslSocketFactory);
相关文章推荐
- Java使用HttpsURLConnection进行Get和Post请求(绕过证书验证)
- [Java] 绕过证书验证调 HTTPS 接口时报 “SSLHandshakeException: DHPublicKey does not comply to algorithm constraints”的解决办法
- Java HttpsURLConnection忽略crt访问https链接
- java 发起HTTPS请求-SSL客户端
- 第7章 数据的安全传输和身份验证 ——SSL和HTTPS编程
- 一个绕过ssl验证的https请求库
- Java安全通信:HTTPS与SSL
- Java安全通信:HTTPS与SSL
- Java安全通信:HTTPS与SSL
- Java中用HttpsURLConnection访问Https链接的问题
- HttpClient之配置ssl,采用绕过证书验证实现https
- java请求https地址如何绕过证书验证?
- iOS之支持https与ssl双向验证(包含:解决UIWebView加载不了https网页的图片,css,js等外部资源)
- 关于JAVA发送Https请求(HttpsURLConnection和HttpURLConnection)
- IIS SSL客户端证书(忽略/接受/必须)之三——思考验证(3)
- java ssl https 连接详解 生成证书
- Java安全(加密、摘要、签名、证书、SSL、HTTPS)
- WCF,SSL,UserName,用户名密码验证和https
- AFNetworking允许不通过证书验证访问https(AFNetworking+SSL)
- java发送http和https请求(忽略证书)