java6不支持tlsv1.2_解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)
解决 JDK1.7 不支持 VCenter 6.7 的问题
问题描述
原项目工程是使用JDK 1.7,可以连接 5.X版本和 6.0版本的 VCenter资源池。
但是,现在VCenter已经升到 6.7版本,原程序对于高版本的 VCenter 6.7 不再试用。
连接 VCenter 6.7版本的资源池的时候,一直报 SSLHandshakeException的异常错误。
报错信息如下:
问题处理
1、背景介绍
JDK1.7 默认是 TSLv1, 但是可以支持 TSLv1.1,TSLv1.2;
JDK1.8 默认是 TSLv1.2
2、解决方案
1)如果是脚本访问,可以在连接参数里增加 -Dhttps.protocols=TLSv1.2
2)如果是Java程序处理,想使用 JDK 1.7 访问 VCenter 6.7 资源池,需要对VCenter 6.7版本单独处理
a)根据资源池类型,设置不同的 https.protocols
if (type.equals("VC67")){
java.lang.System.setProperty("https.protocols", "TLSv1.2");
}else{
java.lang.System.setProperty("https.protocols", "TLSv1");
}
b)对于连接VC的认证处理如下:
if (type.equals("VC67")){
trustAllHttpsCertificatesTLS12();
}else{
trustAllHttpsCertificates();
}
trustAllHttpsCertificates() 方法如下
private static void trustAllHttpsCertificates() throwsException {
javax.net.ssl.TrustManager[] trustAllCerts= new javax.net.ssl.TrustManager[1];
javax.net.ssl.TrustManager tm= newTrustAllTrustManager();
trustAllCerts[0] =tm;
javax.net.ssl.SSLContext sc= javax.net.ssl.SSLContext.getInstance("SSL");
javax.net.ssl.SSLSessionContext sslsc=sc.getServerSessionContext();
sslsc.setSessionTimeout(20);//add time out 20 t for session
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
trustAllHttpsCertificatesTLS12() 方法如下
private static void trustAllHttpsCertificatesTLS12() throwsException {
javax.net.ssl.TrustManager[] trustAllCerts= new javax.net.ssl.TrustManager[1];
javax.net.ssl.TrustManager tm= newTrustAllTrustManager();
trustAllCerts[0] =tm;
javax.net.ssl.SSLContext sc= javax.net.ssl.SSLContext.getInstance("TLSv1.2");
javax.net.ssl.SSLSessionContext sslsc=sc.getServerSessionContext();
sslsc.setSessionTimeout(20);//add time out 20 t for session
sc.init(null, trustAllCerts, null);
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
}
TrustAllTrustManager 类如下
private static class TrustAllTrustManager implementsjavax.net.ssl.TrustManager, javax.net.ssl.X509TrustManager {publicjava.security.cert.X509Certificate[] getAcceptedIssuers() {return null;
}public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) throwsjava.security.cert.CertificateException {return;
}public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) throwsjava.security.cert.CertificateException {return;
}
}
java6不支持tlsv1.2_解决 JDK1.7 不支持 VCenter 6.7 的问题(涉及到Https TLS1.2协议)相关推荐
- android支持wifi11ad,如何解决android手机不支持ADHOC功能
有一次我同事在他笔记本上虚拟WiFi,IPhone4,Nokia,等手机使用正常,而我的手机无法搜索到热点,后来我终于知道,android系统不支持adhoc,所以无法直接搜索到电脑模拟的wifi信号 ...
- 【Ubuntu】安装中文输入法、终端不支持中文的解决方法
一.中文输入法安装 1.安装汉语语言包 sudo apt install fcitx sudo apt install language-pack-zh-hans 2.安装google拼音输入法 su ...
- android canvas 保存图片,ionic3 html5 video 抓图保存到手机相册,解决Android手机不支持Canvas drawImage问题...
当然百度出上W条答案 上代码,相信下面代码和小伙伴大同吧 相信好多做webview app的小伙伴们都有同样的问题,在pc上能轻松实现video 抓图.但是在android手机大多是不支持canvas ...
- 解决IE6下不支持 png24的透明图片问题
解决IE6下不支持 png24的透明图片问题 参考文章: (1)解决IE6下不支持 png24的透明图片问题 (2)https://www.cnblogs.com/heimanba/p/3826771 ...
- [flask实践] 解决mysql数据库不支持中文的问题
[flask实践] 解决mysql数据库不支持中文的问题 参考文章: (1)[flask实践] 解决mysql数据库不支持中文的问题 (2)https://www.cnblogs.com/xiaozh ...
- 服务不支持 chkconfig 的解决方法
服务不支持 chkconfig 的解决方法 参考文章: (1)服务不支持 chkconfig 的解决方法 (2)https://www.cnblogs.com/areyouready/p/885780 ...
- 服务器支持curl,互联网要点:服务器不支持curl_exec的解决办法
当下应该属于互联网时代吧今天小编分享一篇有关于服务器不支持curl_exec的解决办法,相信小伙伴们对这个话题应该也很关注吧,那么现在就为小伙伴们说说服务器不支持curl_exec的解决办法,小编也收 ...
- ACCESS中的Update语句不支持Select的解决办法
ACCESS中的Update语句不支持Select的解决办法执行 比如ACCESS中执行SQL语句: UPDATE HN_news AS a SET typeid = (select clid fro ...
- nginx虚拟目录支持PHP,nginx“虚拟目录”不支持php的解决方法
nginx"虚拟目录"不支持php的解决办法 这几天在配置Nginx,PHP用FastCGI,想装一个phpMyAdmin管理数据库,phpMyAdmin不想放在网站根目录 下,这 ...
最新文章
- 用原生js的postMessage实现iframe传值,也可以用于跨域嵌套iframe传值
- IE 市场份额暴跌,Edge 能否守住微软的辉煌
- 形象理解操作系统的进程与线程
- Windows消息循环理解及窗体创建步骤
- doublevalue_Java Double类doubleValue()方法与示例
- 终于有人把大数据讲明白了。。。
- c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...
- java8 function 固定0_Java8特性使用Function代替分支语句
- 转---《C#画线控件的开发应用实例解析》
- python中wordcloud函数不同形状云图_10行Python代码生成任意形状的文字云图
- 深扒洪恩教育招股书:研发含金量低,三年亏3亿,池宇峰再闯美股
- mysql非整型分区_mysql分区
- 计算机网络信息安全等级保护(等保)
- Java中的判断语句
- Stata:回归结果中不报告行业虚拟变量的系数
- Eclipse Plungins--Pydev
- 人脸识别-批量裁剪图像
- 【3Dsmax】入门
- IDV和VDI,桌面虚拟化对比
- excel两列乱序姓名如何一一对应 excel 两列数据自动配对