`
wads913
  • 浏览: 1117 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

1231231

阅读更多
package baidu;

import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.security.KeyStore;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;

public class MyX509TrustManager implements X509TrustManager {

	/*
	 * The default X509TrustManager returned by SunX509. We’ll delegate
	 * decisions to it, and fall back to the logic in this class if the default
	 * X509TrustManager doesn’t trust it.
	 */
	X509TrustManager sunJSSEX509TrustManager;

	MyX509TrustManager() throws Exception {
		// create a “default” JSSE X509TrustManager.

		KeyStore ks = KeyStore.getInstance("JKS");
		//ks.load(new FileInputStream("trustedCerts"), "passphrase".toCharArray());

		TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509","SunJSSE");

		tmf.init(ks);

		TrustManager tms[] = tmf.getTrustManagers();

		/*
		 * Iterate over the returned trustmanagers, look for an instance of
		 * X509TrustManager. If found, use that as our "default" trust manager.
		 */
		for (int i = 0; i < tms.length; i++) {
			if (tms[i] instanceof X509TrustManager) {
				sunJSSEX509TrustManager = (X509TrustManager) tms[i];
				return;
			}
		}

		/*
		 * Find some other way to initialize, or else we have to fail the
		 * constructor.
		 */
		throw new Exception("Couldn’t initialize");
	}

	/*
	 * Delegate to the default trust manager.
	 */
	public void checkClientTrusted(X509Certificate[] chain, String authType)
			throws CertificateException {
		try {
			sunJSSEX509TrustManager.checkClientTrusted(chain, authType);
		} catch (CertificateException excep) {
			// do any special handling here, or rethrow exception.
		}
	}

	/*
	 * Delegate to the default trust manager.
	 */
	public void checkServerTrusted(X509Certificate[] chain, String authType)
			throws CertificateException {
		try {
			sunJSSEX509TrustManager.checkServerTrusted(chain, authType);
		} catch (CertificateException excep) {
			/*
			 * Possibly pop up a dialog box asking whether to trust the cert
			 * chain.
			 */
		}
	}

	/*
	 * Merely pass this through.
	 */
	public X509Certificate[] getAcceptedIssuers() {
		return sunJSSEX509TrustManager.getAcceptedIssuers();
	}
}

 

分享到:
评论

相关推荐

    电脑公司管理软件1231231

    。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

    ViktorWkxStar#1231231#三、FCKeditor 突破上传1

    上传限制上传限制的突破方式很多,主要还是抓包改扩展名,%00截断,添加文件头等文件名限制二次上传绕过文件名' . ' 修改为' _ 'FCK在上传了诸如shel

    jQuery的带标题描述文字响应式幻灯片代码.zip

     &lt;div class="slideCopy"&gt; 1231231    &lt;img &gt;      “But words are water in Amsterdam, they flood your ears and set the rot, and the church's east corner is crowded.”  &lt;h2&gt;Jessie Burton ...

    渐变灰照片标准.pdf

    - “1231231”这样的数字串可能代表了某种编码或者标准编号,但具体含义需要结合上下文来理解。 由于提供的文件内容部分非常有限,以上知识点是基于标题和描述的推测。具体的技术细节、版本更新内容和其它相关信息...

    bsuir_co-work:该存储库由 Anton @gldstn Pankratov、Bogdan @bogdantoday Arabadzhi 和 Anton @Raisky34 Churin 团队为高效协作而创建

    bsuir_co-work 该存储库由 Anton @gldstn Pankratov、Bogdan @bogdantoday Arabadzhi ... 在消息上单击显示带有路由的消息/#/inbox/1231231 & 查看templates/mail.html 创建composeCtrl 、 mailListCtrl和mailFullCtr

    广联达288293写锁工具 全国版

    《广联达288293写锁工具:全国版详解》 广联达288293写锁工具是一款专为建筑行业设计的专业软件工具,它整合了288写锁与288-293写锁功能,为用户提供了全面的数据管理和项目协作解决方案。该工具在行业中具有广泛的...

    序适用于xp和win7

    标题中的“序适用于xp和win7”表明这是一个关于在Windows XP和Windows 7操作系统上运行或安装某种程序或系统的说明。通常,这样的标题可能是指一个兼容性补丁、软件安装程序或者是系统优化工具。...

    imooc-3-8-问题代压缩包

    在本课程"imooc-3-8-问题代压缩包"中,我们聚焦于Java编程语言,特别是关于压缩包操作的知识点。Java提供了一系列API来处理压缩文件,如.zip和.tar.gz格式,这对于数据传输、存储优化以及软件打包至关重要。...

    游戏策划面试

    根据给定的信息,我们可以提炼出以下关于“游戏策划面试”的相关知识点: ### 游戏策划面试准备 #### 1.... - 在面试时,候选人需要清楚地表达自己的工作经历和个人模式。这包括过去的工作背景、职业发展路径以及在...

    C++ Http.rar

    C++ 编译 使用HTTP超文本协议

    cellcounter

    这是一款只用于细胞计数的软件,不能进行图像计数,还比较好用,尤其在没有计数器的时候

    VMware_Workstation_9.0汉化程序

    VMware_Workstation_9.0汉化程序

    学生信息管理系统

    《学生信息管理系统——基于JAVA WEB的实现》 在信息技术飞速发展的今天,学生信息管理系统的构建已经成为教育领域不可或缺的一部分。本文将深入探讨如何利用JAVA语言和相关WEB技术,设计并实现一个高效、实用的...

    书评网的代码压缩包请老师帮我看一下问题

    书评网是一个在线平台,主要用于用户分享和交流书籍评价,其背后运行的代码可能是用Java编程语言编写的。从提供的信息来看,似乎遇到了一些技术问题,因此需要对代码进行分析和排查。Java作为一种广泛使用的面向对象...

    远控王 远控软件

    【标题】:“远控王 远控软件” 【描述】:“远控王远控软件是一款专为用户设计的远程管理工具,它简化了远程控制的复杂性,使得即便不具备高级计算机知识的用户也能轻松实现对远程PC的操控。” ...

    C# HTTP通讯demo

    C# 超文本传输协议封装

Global site tag (gtag.js) - Google Analytics