1. 程式人生 > >Java呼叫ssl異常,javax.net.ssl.SSLHandshakeException: No appropriate protocol

Java呼叫ssl異常,javax.net.ssl.SSLHandshakeException: No appropriate protocol

今天正常執行專案的時候,發現java呼叫SSL的時候,突然一下丟擲一個異常,之前都還是好好的。

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at sun.security.ssl.Handshaker.activate(Handshaker.java:529) at sun.security.ssl.SSLSocketImpl.kickstartHandshake(SSLSocketImpl.java:1492) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1361) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397) 經過一陣瞎搞,最後才發現是因為jdk1.8版本導致SSL呼叫許可權上有問題。

解決辦法:找到jdk 1.8安裝目錄,找到C:\Program Files\Java\jre1.8.0_144裡面的lib\security 下面有個java.security。找到對應的SSLv3,刪除掉,重啟專案就好了。(刪掉SSLv3就是允許SSL呼叫) 在這裡插入圖片描述