报错:javax.net.ssl.SSLHandshakeException:Receive fatal alert : handshake failure
1、在tomcat的启动参数里加上-Dhttps.protocols=SSLv3,TLSv1 就可以了(没试过)
2、SSL握手失败:用JDK1.8做发邮件的功能遇到这种问题(没试过)
处理方式是:
将目录 %JAVA_HOME%\...\jre\lib\security里的local_policy.jar,US_export_policy.jar两个包替换成1.7版本的
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
3、system.setProperty("https.protocols","TLSv1,SSLv3");---正解
生产环境1.6,
如果在https.protocols中增加 TLSv1.2,会报错(java.lang.IllegalArgumentException: TLSv1.2),
是因为1.6版本的jdk不支持,1.7可以支持
彩蛋:system.setProperty("https.protocols","TLSv1,SSLv3")这样写的背后原理是什么?