1. 做个笔记
private Discovery getTrustDiscovery() throws KeyManagementException, NoSuchAlgorithmException, NoSuchProviderException, IOException {// 对用户提供的标识符执行发现Discovery dd = new Discovery();//      //创建SSLContext对象,并使用我们指定的信任管理器初始化
//      TrustManager[] tm = {new MyX509TrustManager ()};
//      SSLContext sslContext = SSLContext.getInstance("SSL","SunJSSE");
//      sslContext.init(null, tm, new java.security.SecureRandom());
//
//      //从上述SSLContext对象中得到SSLSocketFactory对象
//      SSLSocketFactory ssf = sslContext.getSocketFactory();
//
//      //创建HttpsURLConnection对象,并设置其SSLSocketFactory对象
//      URL url=new URL(ENDPOINT);
//      HttpsURLConnection httpsConn = (HttpsURLConnection)url.openConnection();
//      httpsConn.setSSLSocketFactory(ssf);// 获取一个SSLContext实例SSLContext s = SSLContext.getInstance("SSL");X509TrustManager x509m = new X509TrustManager() {//          返回受信任的X509证书数组。@Overridepublic X509Certificate[] getAcceptedIssuers() {return null;}
//          该方法检查服务器的证书,若不信任该证书同样抛出异常。通过自己实现该方法,可以使之信任我们指定的任何证书。
//          在实现该方法时,也可以简单的不做任何处理,即一个空的函数体,由于不会抛出异常,它就会信任任何证书。@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
//          该方法检查客户端的证书,若不信任该证书则抛出异常。由于我们不需要对客户端进行认证,
//          因此我们只需要执行默认的信任管理器的这个方法。JSSE中,默认的信任管理器类为TrustManager。@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}};s.init(null, new TrustManager[] { x509m }, new java.security.SecureRandom());// 打印这个SSLContext实例使用的协议
//      System.out.println("缺省安全套接字使用的协议: " + s.getProtocol());// 获取SSLContext实例相关的SSLEnginedd.setYadisResolver(new YadisResolver(new HttpFetcherFactory(s, new X509HostnameVerifier() {@Overridepublic boolean verify(String hostname, SSLSession session) {// TODO Auto-generated method stubreturn true;}@Overridepublic void verify(String host, String[] cns, String[] subjectAlts) throws SSLException {// TODO Auto-generated method stub}@Overridepublic void verify(String host, X509Certificate cert) throws SSLException {// TODO Auto-generated method stub}@Overridepublic void verify(String host, SSLSocket ssl) throws IOException {// TODO Auto-generated method stub}})));return dd;}
package com.jiuqi.crcc.util;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
/*** * <p>TODO SSL忽略安全证书</p>**/
public class SslUtils {private static void trustAllHttpsCertificates() throws Exception {TrustManager[] trustAllCerts = new TrustManager[1];TrustManager tm = new miTM();trustAllCerts[0] = tm;SSLContext sc = SSLContext.getInstance("SSL");sc.init(null, trustAllCerts, null);HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());}static class miTM implements TrustManager,X509TrustManager {public X509Certificate[] getAcceptedIssuers() {return null;}public boolean isServerTrusted(X509Certificate[] certs) {return true;}public boolean isClientTrusted(X509Certificate[] certs) {return true;}public void checkServerTrusted(X509Certificate[] certs, String authType)throws CertificateException {return;}public void checkClientTrusted(X509Certificate[] certs, String authType)throws CertificateException {return;}}/*** 忽略HTTPS请求的SSL证书,必须在openConnection之前调用* @throws Exception*/public static void ignoreSsl() throws Exception{HostnameVerifier hv = new HostnameVerifier() {public boolean verify(String urlHostName, SSLSession session) {return true;}};trustAllHttpsCertificates();HttpsURLConnection.setDefaultHostnameVerifier(hv);}
}

X509TrustManager信任SSL证书相关推荐

  1. iOS开发HTTPS实现之信任SSL证书和自签名证书

    首先来分析一下什么是HTTPS以及了解HTTPS对于iOS开发者的意义 HTTPS 以及SSL/TSL 什么是SSL? SSL(Secure Sockets Layer, 安全套接字层),因为原先互联 ...

  2. intellij服务器证书不受信任,ssl证书不受信任怎么办?ssl证书不受信任解决方案有什么?...

    随之愈来愈多的ssl证书错误的状况出現,大伙儿都是有ssl证书不受信任怎么办这类的难题,而且对这种难题很头痛,下边将带大伙儿解析一下ssl证书不受信任的缘故及解决方案. 一.ssl证书不会受到信任是什 ...

  3. 教你秒建受信任的本地 SSL 证书,彻底解决开发测试环境的无效证书警告烦恼!...

    您是否厌倦了在本地开发项目中使用不受信任的 SSL 证书?维护自己的证书颁发机构(CA)是一个痛苦的事情,这过程中需要用到神秘的程序和命令.在本指南中,我将向您展示一种在没有 CA 的情况下在本地开发 ...

  4. SSL证书信任问题处理,两种解决方案

    异常信息:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path build ...

  5. springboot忽略证书_SpringBoot中通过java代码实现忽略SSL证书

    //工具类 package com.oauth.utils; import org.springframework.stereotype.Component; import java.security ...

  6. 浏览器如何对SSL证书进行验证?

    一.浏览器如何验证SSL证书 1.在浏览器菜单中点击"工具-Internet选项-内容-证书"按钮,可以查看受浏览器信任的"中级证书颁发机构"和"受信 ...

  7. 【SSL证书】OV、DV和EV三种类型证书的区别

    以下内容由SSL盾小编发布[www.ssldun.com] 网站安全之盾 证书安全有保障 关于https证书 https协议需要到ca申请证书,一般免费证书很少,需要交费.并且免费的没有安全保障 ht ...

  8. Java爬虫https网页内容报错SSLHandshakeException信任(忽略)所有SSL证书

    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building f ...

  9. Android _实现SSL解决不受信任的证书问题

    介绍 网络安全已成为大家最关心的问题. 如果你利用服务器存储客户资料, 那你应该考虑使用 SSL 加密客户跟服务器之间的通讯. 随着这几年手机应用迅速崛起. 黑客也开始向手机应用转移, 原因有下列3点 ...

  10. iOS 10.3下解决Fiddler代理抓包ssl证书信任问题

    iOS 10.3下解决Fiddler代理抓包ssl证书信任问题 参考文章: (1)iOS 10.3下解决Fiddler代理抓包ssl证书信任问题 (2)https://www.cnblogs.com/ ...

最新文章

  1. 使用mail发送附件
  2. Android 自定义ListView单击事件失效
  3. linux bash 学习
  4. java servlet https_javaweb项目对https的配置01
  5. thinkphp3.2自定义success及error跳转页面
  6. LINQ是死是活?——很奇怪为什么会有这样的话题?
  7. 【转】04.Dicom 学习笔记-DICOM C-Move 消息服务
  8. 2.3_ 1_ 进程同步、进程互斥
  9. 引物设计软件_你的引物设计进行得如何了?这份PCR引物设计及软件使用技巧供你参考...
  10. L1-037 A除以B (10 分)—团体程序设计天梯赛
  11. Linux的段错误调试方法
  12. 实验固体力学类毕业论文文献包含哪些?
  13. 用js两张图片合并成一张图片
  14. 一种很轻松的Excel关键字方式进行网页Web自动化测试(Java+Selenium+TestNG+Excel)
  15. PAT乙级 1068 万绿丛中一点红 (20 分) Java 实现
  16. 博士申请 | 浙江大学孙优贤院士课题组招收智能无人系统方向硕士生/博士生
  17. html玫瑰花ui,玫瑰花小制作分享-JavaScript(七夕专属浪漫)
  18. python格式规范的要求_Python书写规范
  19. Tomcat高级配置(应用场景总结及示例)
  20. SD卡及其写保护功能

热门文章

  1. PHP架构师的成长之路
  2. [数据可视化] 饼图(Pie Chart)
  3. 2-常见机器学习模型总结
  4. php7isapi,如何选择PHP套件中ISAPI和FastCGI模式的版本?_护卫神
  5. NRR52832 获取扫描请求
  6. 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
  7. 推荐9个强大的谷歌插件,程序猿必备!不看后悔系列!
  8. Vue2.X 计算属性
  9. 极小化极大(Minimax)算法原理
  10. sap系统和服务器的关系,erp系统和sap系统的区别