報錯: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")這樣寫的背后原理是什么?