访问https,抛出的异常javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
話說這個坑有點深,查閱大半個百度幾乎沒解決
部分網友解釋:是因為jdk中jce的安全機制導致報的錯,按照大家的方式,要去oracle官網下載對應的jce包替換jdk中的jce包。
jce所在地址: %JAVA_HOME%\jre\lib\security里的local_policy.jar,US_export_policy.jar
?
JDK7?http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8?http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
?
但是以上并沒有解決我的問題,后來我是這樣做的,可供測試
?
在請求連接之前,加上
System.setProperty("https.protocols", "TLSv1.2,TLSv1.1,SSLv3");
https.protocols可以設置一個,也可以設置多個,需要設置什么值,大家可以通過以下網站查詢你要請求的網站支持的證書類型
https://myssl.com
總結
以上是生活随笔為你收集整理的访问https,抛出的异常javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快速云:云管理平台——实现多云部署你需要
- 下一篇: 调用API获取深圳市的公开大数据集——以