javax.net.ssl​​.SSLHandshakeException:远程主机小程序握手期间关闭连接 [英] javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake in applet

查看:1352
本文介绍了javax.net.ssl​​.SSLHandshakeException:远程主机小程序握手期间关闭连接的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的web应用程序,我使用的是签署罐子小程序,这applet的JRE 1.6和1.7之前工作的罚款。但安全弹出窗口和小应用程序的阻止错误后,我们不得不购买一个java code签名证书。

我已经成功地签署了该applet的jar这个小应用程序不会对HTTP协议的任何问题上运行。如果我打开HTTPS此applet,它开始给出现SSLHandshakeException例外。我曾尝试各种可能的解决方案来运行它,但是失败了。

  * Java插件11.25.2.18
使用JRE版本1.8.0_25-B18的HotSpot的Java(TM)客户机VM
用户主目录= C:\\ Users \\用户家
-------------------------------------------------- -
C:清除控制台窗口
F:终结在结束队列对象
G:垃圾回收
H:显示帮助信息
L:转储类载入程序列表
L:打印内存使用情况
○:触发记录
问:隐藏控制台
R:重装策略配置
小号:转储系统和部署属性
T:转储线程列表
五:转储线程堆栈
X:清晰的类加载器缓存
0-5:设置跟踪级别为< N'GT;
-------------------------------------------------- -
基本的:增加了进度监听器:sun.plugin.util.ProgressMonitorAdapter@1d2bd52
安全性:预计主网址:https://www.example.com/test.jar
基本:呼吁https://www.example.com/test.jar Plugin2ClassLoader.addURL父
安全性:访问密钥和证书在Mozilla用户配置文件:空
安全性:JSS未配置
网络:高速缓存条目没有找到[URL:https://www.example.com/test.jar,版本:空]
网络:连接https://www.example.com/test.jar与代理= DIRECT
网络:高速缓存条目没有找到[url:文件:/ C:/Program%20Files/Java/jre1.8.0_25/lib/ext/sunec.jar,版本:空]
网络:高速缓存条目没有找到[url:文件:/ C:/Program%20Files/Java/jre1.8.0_25/lib/ext/sunjce_provider.jar,版本:空]
网络:连接http://www.example.com:443/与代理= DIRECT
javax.net.ssl​​.SSLHandshakeException:远程主机关闭握手期间的连接
    在sun.security.ssl.SSLSocketImpl.readRecord(来源不明)
    在sun.security.ssl.SSLSocketImpl.performInitialHandshake(来源不明)
    在sun.security.ssl.SSLSocketImpl.startHandshake(来源不明)
    在sun.security.ssl.SSLSocketImpl.startHandshake(来源不明)
    在sun.net.www.protocol.https.HttpsClient.afterConnect(来源不明)
    在sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(来源不明)
    在sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(来源不明)
    在sun.plugin.PluginURLJarFileCallBack.connect(来源不明)
    在sun.plugin.PluginURLJarFileCallBack.retrieve(来源不明)
    在sun.net.www.protocol.jar.URLJarFile.retrieve(来源不明)
    在sun.net.www.protocol.jar.URLJarFile.getJarFile(来源不明)
    在sun.net.www.protocol.jar.JarFileFactory.get(来源不明)
    在sun.net.www.protocol.jar.JarURLConnection.connect(来源不明)
    在sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(来源不明)
    在sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(来源不明)
    在sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader.getJarFile(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader.access $ 800(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader $ 1.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader.ensureOpen(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader<&初始化GT;(未知来源)
    在com.sun.deploy.security.DeployURLClassPath $ 3.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在com.sun.deploy.security.DeployURLClassPath.getLoader(来源不明)
    在com.sun.deploy.security.DeployURLClassPath.getLoader(来源不明)
    在com.sun.deploy.security.DeployURLClassPath.getResource(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader $ 2.run(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader $ 2.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(来源不明)
    在sun.plugin2.applet.Applet2ClassLoader.findClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在java.lang.ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(来源不明)
    在sun.plugin2.applet.Plugin2Manager.initAppletAdapter(来源不明)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(来源不明)
    在java.lang.Thread.run(来源不明)
java.io.EOFException:引起同行SSL错误地关闭
    在sun.security.ssl.InputRecord.read(来源不明)
    ... 42更多
网络:高速缓存条目没有找到[URL:https://www.example.com/test.jar,版本:空]
网络:连接https://www.example.com/test.jar与代理= DIRECT
网络:连接http://www.example.com:443/与代理= DIRECT
javax.net.ssl​​.SSLHandshakeException:远程主机关闭握手期间的连接
    在sun.security.ssl.SSLSocketImpl.readRecord(来源不明)
    在sun.security.ssl.SSLSocketImpl.performInitialHandshake(来源不明)
    在sun.security.ssl.SSLSocketImpl.startHandshake(来源不明)
    在sun.security.ssl.SSLSocketImpl.startHandshake(来源不明)
    在sun.net.www.protocol.https.HttpsClient.afterConnect(来源不明)
    在sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(来源不明)
    在sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(来源不明)
    在sun.plugin.PluginURLJarFileCallBack.connect(来源不明)
    在sun.plugin.PluginURLJarFileCallBack.retrieve(来源不明)
    在sun.net.www.protocol.jar.URLJarFile.retrieve(来源不明)
    在sun.net.www.protocol.jar.URLJarFile.getJarFile(来源不明)
    在sun.net.www.protocol.jar.JarFileFactory.get(来源不明)
    在sun.net.www.protocol.jar.JarURLConnection.connect(来源不明)
    在sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(来源不明)
    在sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(来源不明)
    在sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader.getJarFile(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader.access $ 800(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader $ 1.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader.ensureOpen(来源不明)
    在com.sun.deploy.security.DeployURLClassPath $ JarLoader<&初始化GT;(未知来源)
    在com.sun.deploy.security.DeployURLClassPath $ 3.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在com.sun.deploy.security.DeployURLClassPath.getLoader(来源不明)
    在com.sun.deploy.security.DeployURLClassPath.getLoader(来源不明)
    在com.sun.deploy.security.DeployURLClassPath.getResource(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader $ 2.run(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader $ 2.run(来源不明)
    在java.security.AccessController.doPrivileged(本机方法)
    在sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(来源不明)
    在sun.plugin2.applet.Applet2ClassLoader.findClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在java.lang.ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(来源不明)
    在sun.plugin2.applet.Plugin2Manager.initAppletAdapter(来源不明)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(来源不明)
    在java.lang.Thread.run(来源不明)
java.io.EOFException:引起同行SSL错误地关闭
    在sun.security.ssl.InputRecord.read(来源不明)
    ... 40更多
网络:高速缓存条目没有找到[URL:https://www.example.com/Apps.class,版本:空]
网络:连接https://www.example.com/Apps.class与代理= DIRECT
网络:连接http://www.example.com:443/与代理= DIRECT
网络:高速缓存条目没有找到[URL:https://www.example.com/Apps/class.class,版本:空]
网络:连接https://www.example.com/Apps/class.class与代理= DIRECT
网络:连接http://www.example.com:443/与代理= DIRECT
抛出java.lang.ClassNotFoundException:Apps.class
    在sun.plugin2.applet.Applet2ClassLoader.findClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在java.lang.ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(来源不明)
    在sun.plugin2.applet.Plugin2Manager.initAppletAdapter(来源不明)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(来源不明)
    在java.lang.Thread.run(来源不明)
基本:负载:类Apps.class未找到。
抛出java.lang.ClassNotFoundException:Apps.class
    在sun.plugin2.applet.Applet2ClassLoader.findClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
    在java.lang.ClassLoader.loadClass(来源不明)
    在sun.plugin2.applet.Plugin2ClassLoader.load code(来源不明)
    在sun.plugin2.applet.Plugin2Manager.initAppletAdapter(来源不明)
    在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(来源不明)
    在java.lang.Thread.run(来源不明)
忽略异常:抛出java.lang.ClassNotFoundException:Apps.class
基本的:对话类型不嵌入候选人
安全性:重置否认会话证书库
基本:删除进度监听器:sun.plugin.util.ProgressMonitorAdapter@1d2bd52
安全性:重置否认会话证书库*

在小程序,我用简单的小程序

 进口java.applet中的*。
进口java.awt中的*。公共类应用扩展的Applet {   公共无效漆(图形G){
      g.drawString(欢迎的Java小程序,40,20);
   }
}


解决方案

我们遇到同样的问题。
我相信这是在Java中实现TLS 1.2 SSL方式的错误。

根据他们的文档, https://blogs.oracle.com/java -platform组/项/ java_8_will_use_tls 的,他们声称通过启用TLS 1.2,它是与旧版本向后兼容。

然而,这并非如此。当TLS 1.2被禁止,我们不再让远程主机关闭握手期间连接的错误。

TLS 1.2支持,可以从高级设置Java控制面板中被关闭。

一旦这样做,则小程序将工作

In my web application, I am using a applet which is signed jar and this applet was working fine before jre 1.6 and 1.7. But after security popup and blocking error of applet we had to purchased a java code signing certificate.

I have signed this applet jar successfully and this applet is running without any problem on HTTP protocol. If I open this applet on HTTPS, it start giving exceptions of SSLHandshakeException. I have tried every possible solution to run this but it failed.

*Java Plug-in 11.25.2.18
Using JRE version 1.8.0_25-b18 Java HotSpot(TM) Client VM
User home directory = C:\Users\home
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------
basic: Added progress listener: sun.plugin.util.ProgressMonitorAdapter@1d2bd52
security: Expected Main URL: https://www.example.com/test.jar
basic: Plugin2ClassLoader.addURL parent called for https://www.example.com/test.jar
security: Accessing keys and certificate in Mozilla user profile: null
security: JSS is not configured
network: Cache entry not found [url: https://www.example.com/test.jar, version: null]
network: Connecting https://www.example.com/test.jar with proxy=DIRECT
network: Cache entry not found [url: file:/C:/Program%20Files/Java/jre1.8.0_25/lib/ext/sunec.jar, version: null]
network: Cache entry not found [url: file:/C:/Program%20Files/Java/jre1.8.0_25/lib/ext/sunjce_provider.jar, version: null]
network: Connecting http://www.example.com:443/ with proxy=DIRECT
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
    at sun.plugin.PluginURLJarFileCallBack.connect(Unknown Source)
    at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
    at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
    at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
    at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
    at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.read(Unknown Source)
    ... 42 more
network: Cache entry not found [url: https://www.example.com/test.jar, version: null]
network: Connecting https://www.example.com/test.jar with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
    at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
    at sun.plugin.PluginURLJarFileCallBack.connect(Unknown Source)
    at sun.plugin.PluginURLJarFileCallBack.retrieve(Unknown Source)
    at sun.net.www.protocol.jar.URLJarFile.retrieve(Unknown Source)
    at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
    at sun.net.www.protocol.jar.JarFileFactory.get(Unknown Source)
    at sun.net.www.protocol.jar.JarURLConnection.connect(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
    at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$800(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
    at sun.security.ssl.InputRecord.read(Unknown Source)
    ... 40 more
network: Cache entry not found [url: https://www.example.com/Apps.class, version: null]
network: Connecting https://www.example.com/Apps.class with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
network: Cache entry not found [url: https://www.example.com/Apps/class.class, version: null]
network: Connecting https://www.example.com/Apps/class.class with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
java.lang.ClassNotFoundException: Apps.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
basic: load: class Apps.class not found.
java.lang.ClassNotFoundException: Apps.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Ignored exception: java.lang.ClassNotFoundException: Apps.class
basic: Dialog type is not candidate for embedding
security: Reset deny session certificate store
basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@1d2bd52
security: Reset deny session certificate store*

In applet, I am using simple applet

import java.applet.*;
import java.awt.*;

public class Apps extends Applet{

   public void paint(Graphics g){
      g.drawString("Welcome in Java Applet.",40,20);
   }
}

解决方案

We are having this same issue. I believe this is a bug in the way Java implemented TLS 1.2 for SSL.

According to their documentation, https://blogs.oracle.com/java-platform-group/entry/java_8_will_use_tls, they claim that by enabling TLS 1.2, it is backwards compatible with older versions.

However, this is not the case. When TLS 1.2 is disabled, we no longer get the "Remote host closed connection during handshake" error.

TLS 1.2 support can be turned off from the Advanced Settings in the Java Control Panel.

Once this is done, the applets will work.

这篇关于javax.net.ssl​​.SSLHandshakeException:远程主机小程序握手期间关闭连接的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆