javax.net.ssl.SSLHandshakeException: No appropriate protocol报错解决
一、问题描述
用java开发了一个简单的发送邮件的程序,本地运行正常,但是上传到服务器就出现报错
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1972)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:642)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
二、问题解决
1、找到jdk目录/jre/lib/security/java.security,去掉jdk.tls.disabledAlgorithm中的SSLv3、TLSv1、TLSv1.1,参考https://blog.csdn.net/Wing_kin666/article/details/116449722
2、但是上面方法并没有解决问题,还需要执行以下命令,才最终解决报错,参考https://stackoverflow.com/questions/38205947/sslhandshakeexception-no-appropriate-protocol#
update-crypto-policies --set LEGACY