我有一个连接到 IMAP 存储并检查消息的 Java 应用程序。它在 AWS 上的 Ubuntu 20.04.2 LTS 焦点上运行。它在 Java 11 (OpenJDK) 上运行。
一切正常,直到 2021 年 4 月 21 日,Java 版本自动更新到 OpenJDK 11.0.11。此时,重新启动应用程序后,我收到以下异常:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at java.base/sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:170)
at java.base/sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:98)
at java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:221)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:433)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:411)
at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:549)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:354)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:237)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:116)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:115)
at com.sun.mail.imap.IMAPStore.newIMAPProtocol(IMAPStore.java:685)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:636)
... 24 more
Run Code Online (Sandbox Code Playgroud)
我刚刚在 2020-04-14 降级回 OpenJDK 11.0.7,一切恢复正常。
在版本 11.0.7 和 11.0.11 之间,java.security 策略或支持的密码是否发生了重大变化?
除了保留 11.0.7 版本之外,还有其他方法可以解决此问题吗?