Java applet无法在Java8 / HTTPS上加载 [英] Java applet not loading on Java8/HTTPS

查看:181
本文介绍了Java applet无法在Java8 / HTTPS上加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有使用HTTPS时无法运行的Java applet。在localhost上测试时一切正常。此外,一切都在使用仅使用HTTP的测试服务器。在服务器仅使用HTTPS的生产模式中,此问题会引发。



引起我注意的一件事是: http://www.example.com:443/ with proxy = DIRECT为什么连接尝试建立到http而不是https? http +端口443似乎不太正确......任何人都知道我怎么可能修改它?



如果有人能指出我正确的方向我会很高兴问题。



控制台输出:

  Java插件11.25。 2.18 
使用JRE版本1.8.0_25-b18 Java HotSpot(TM)客户端VM
用户主目录= D:\Users\example
---------- ------------------------------------------
c:清除控制台窗口
f:终结最终化队列中的对象
g:垃圾收集
h:显示此帮助消息
l:dump classloader list
m:print memory usage
o:trigger logging
q:hide console
r:重新加载策略配置
s:dump系统和部署属性
t:dump thread list
v:dump thread stack
x:clear classloader cache
0-5:将跟踪级别设置为< n>
---------------------------------------------- ------
basic:添加了进度监听器:sun.plugin.util.ProgressMonitorAdapter@1fbe203
安全性:预期的主要URL:https://www.example.com/example/applet/example -uploadapplet.jar
basic:为https://www.example.com/example/applet/example-uploadapplet.jar调用的Plugin2ClassLoader.addURL父级
basic:调用https:/的Plugin2ClassLoader.addURL父级/www.example.com/example/applet/edtftpj-2.1.0.jar
network:使用proxy = DIRECT $ b连接https://www.example.com/example/applet/example-uploadapplet.jar $ b network:连接http://www.example.com:443/与proxy = DIRECT
javax.net.ssl.SSLException:收到致命警报:protocol_version
at sun.security.ssl.Alerts .getSSLException(未知来源)
at sun.security.ssl.Alerts.getSSLException(未知来源)
at sun.security.ssl.SSLSocketImpl.recvAlert(未知来源)
at sun.security .ssl.SSLSocketImpl.readRecord(未知来源)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(未知来源)
at sun.security.ssl.SSLSocketImpl.startHandshake(未知来源)
at sun.security.ssl.SSLSocketImpl.startHandshake(未知)来源)
at sun.net.www.protocol.https.HttpsClient.afterConnect(未知来源)
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(未知来源)
at sun.net.www.protocol.jar.JarURLConnection.connect(未知来源)
at sun.plugin.net.protocol .jar.CachedJarURLConnection.c onnect(未知来源)
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(未知来源)
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.secur ity.DeployURLClassPath.getLoader(未知来源)
at com.sun.deploy.security.DeployURLClassPath.getResource(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader $ 2.run(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader $ 2.run(未知来源)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source) )sun.plugin2.applet.Applet2ClassLoader.findClass(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知来源)
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(未知来源)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loa dCode(未知来源)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(未知来源)
at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(未知来源)
at java。 lang.Thread.run(未知来源)
network:使用proxy = DIRECT
network连接https://www.example.com/example/applet/edtftpj-2.1.0.jar:连接http: //www.example.com:443/ with proxy = DIRECT
javax.net.ssl.SSLException:收到致命警报:protocol.version
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(未知来源)
at sun.security.ssl.SSLSocketImpl.recvAlert(未知来源)
at sun.security.ssl.SSLSocketImpl.readRecord(未知来源)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(未知来源)
at sun.security.ssl.SSLSocketImpl.startHandshake(未知来源)
at sun.security.ssl。 SSLSocketImpl.startHandshake(未知来源)
a t sun.net.www.protocol.https.HttpsClient.afterConnect(未知来源)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(未知来源)
at sun.net.www .protocol.https.HttpsURLConnectionImpl.connect(未知来源)
at sun.plugin.PluginURLJarFileCallBack.connect(未知来源)
at sun.plugin.PluginURLJarFileCallBack.retrieve(未知来源)
at sun .net.www.protocol.jar.URLJarFile.retrieve(未知来源)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(Unknown Source)
at sun.net.www.protocol .jar.JarFileFactory.get(未知来源)
at sun.net.www.protocol.jar.JarURLConnection.connect(未知来源)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect (未知来源)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFileInternal(Unknown Source)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.getJarFile(Unknown Source)
at com.sun.deploy.s ecurity.DeployURLClassPath $ JarLoader.getJarFile(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ JarLoader.access $ 800(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ JarLoader $ 1.run(未知来源)
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>(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ 3.run(Unknown Source)
at java.security。 AccessController.doPrivileged(本机方法)
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.Plug in2ClassLoader $ 2.run(未知来源)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2 .applet.Applet2ClassLoader.findClass(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知来源)
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)来源)
at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(未知来源)
at java.lang.Thread.run(Unknown Source )
network:使用proxy = DIRECT
network连接https://www.example.com/example/applet/example-uploadapplet.jar:连接http://www.example.com:443/ with proxy = DIRECT
javax.net.ssl.SSLException:收到致命警报:protocol.version
at sun.security.ssl.Alerts.getSSLException(未知来源)
at sun.security.ssl。 Alerts.getSSLException(未知来源)
at sun.security.ssl.SSLSocketImpl.recvAlert(未知来源)
at sun.security.ssl.SSLSocketImpl.readRecord(未知来源)
at sun。 security.ssl.SSLSocketImpl.performInitialHandshake(未知来源)
at sun.security.ssl.SSLSocketImpl.startHandshake(未知来源)
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.co nnect(未知来源)
at sun.plugin.PluginURLJarFileCallBack.connect(未知来源)
at sun.plugin.PluginURLJarFileCallBack.retrieve(未知来源)
at sun.net.www.protocol。 jar.URLJarFile.retrieve(未知来源)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(未知来源)
at sun.net.www.protocol.jar.JarFileFactory.get(未知来源)
at sun.net.www.protocol.jar.JarURLConnection.connect(未知来源)
at sun.plugin.net.protocol.jar.CachedJarURLConnection.connect(未知来源)
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(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ JarLoader.access $ 800(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ JarLoader $ 1.run(Unkno wn来源)
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>(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ 3.run(未知来源)
at java.security.AccessController.doPrivileged(本地方法)
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(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader $ 2.run(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader $ 2.run(未知来源) )
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2Clas sLoader.findClass(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(未知来源)
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(未知来源)
at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
network:使用proxy = DIRECT
network连接https://www.example.com/example/applet/edtftpj-2.1.0.jar:连接http://www.example.com:443/ with proxy = DIRECT
javax.net.ssl.SSLException:收到致命警报:protocol.version
at sun.security.ssl.Alerts.getSSLException(未知来源)
at sun.security.ssl。 Alerts.getSSLException(未知来源)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
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(未知来源)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(未知来源)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(未知来源)
at sun.plugin.PluginURLJarFileCallBack.connect(未知来源)
at sun.plugin.PluginURLJarFileCallBack.retrieve(未知来源)
at sun.net.www.protocol.jar.URLJarFile .retrieve(未知来源)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(未知来源)
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(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ JarLoader.access $ 800(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ JarLoader $ 1.run(Unknown来源)
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>(未知来源)
at com.sun.deploy.security.DeployURLClassPath $ 3.run(Unknown Source)
at java.security.AccessController.doPr ivileged(本地方法)
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(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader $ 2.run(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader $ 2.run(未知来源)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader。 findClass(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(未知来源)
at sun.plugin2。 applet.Plugin2ClassLoader.loadClass(未知来源)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown So urce)
at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread .run(未知来源)
network:使用proxy = DIRECT
network连接https://www.example.com/example/applet/com/org/example/applet/FileTransferApplet.class:连接http ://www.example.com:443 / with proxy = DIRECT
network:使用proxy =连接https://www.example.com/example/applet/com/org/example/applet/FileTransferApplet.class DIRECT
网络:连接http://www.example.com:443/与proxy = DIRECT
java.lang.ClassNotFoundException:com.org.example.applet.FileTransferApplet
at sun。 plugin2.applet.Applet2ClassLoader.findClass(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(未知来源)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unk nown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager。 initAppletAdapter(未知来源)
at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(未知来源)
at java.lang.Thread.run(Unknown Source)
basic:load:class找不到com.org.example.applet.FileTransferApplet。
java.lang.ClassNotFoundException:com.org.example.applet.FileTransferApplet
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader。 loadClass0(未知来源)
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(未知来源)
at java.lang.Thread.run(未知来源)
忽略异常:java.lang.ClassNotFoundException:com.org.example.applet。 FileTransferApplet
basic:对话类型不适合嵌入
安全性:重置拒绝会话证书存储
security:重置拒绝会话证书存储
basic:删除进度监听器:sun.plugin.util.ProgressMonitorAdapter@1fbe203


解决方案

我没有答案,只是想提供更多信息。



我看到它试图使用的相同内容http端口443显然不起作用。这里得到的例外与你的不同: java.net.SocketException:连接重置



我看到了这个来自java applet和java webstart程序的行为。



用户没有使用任何代理服务器。



<我们在这里测试了我们自己系统上的Java 8 Update 25,它运行正常。遇到此问题的用户安装了Symantec防病毒和防火墙产品。据我所知,它没有阻止任何东西。



我们安装了Java 7 Update 71,然后它开始工作。


I hava Java applet which will not run when using HTTPS. All works fine when testing on localhost. Also everything is working using a test server using only HTTP. In production mode where server is using only HTTPS this issue raises.

The one thing that caught my attention was this: "http://www.example.com:443/ with proxy=DIRECT" Why is the connection attempted to establish to http instead of https? http + port 443 seems not quite right there... Anyone has idea how can I perhaps modify that?

Would be pleased if anyone could point me to right direction with my problem.

Console output:

Java Plug-in 11.25.2.18
Using JRE version 1.8.0_25-b18 Java HotSpot(TM) Client VM
User home directory = D:\Users\example
----------------------------------------------------
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@1fbe203
security: Expected Main URL: https://www.example.com/example/applet/example-uploadapplet.jar
basic: Plugin2ClassLoader.addURL parent called for https://www.example.com/example/applet/example-uploadapplet.jar
basic: Plugin2ClassLoader.addURL parent called for https://www.example.com/example/applet/edtftpj-2.1.0.jar
network: Connecting https://www.example.com/example/applet/example-uploadapplet.jar with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
javax.net.ssl.SSLException: Received fatal alert: protocol_version
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    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)
network: Connecting https://www.example.com/example/applet/edtftpj-2.1.0.jar with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
javax.net.ssl.SSLException: Received fatal alert: protocol_version
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    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)
network: Connecting https://www.example.com/example/applet/example-uploadapplet.jar with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
javax.net.ssl.SSLException: Received fatal alert: protocol_version
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    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)
network: Connecting https://www.example.com/example/applet/edtftpj-2.1.0.jar with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
javax.net.ssl.SSLException: Received fatal alert: protocol_version
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    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)
network: Connecting https://www.example.com/example/applet/com/org/example/applet/FileTransferApplet.class with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
network: Connecting https://www.example.com/example/applet/com/org/example/applet/FileTransferApplet.class with proxy=DIRECT
network: Connecting http://www.example.com:443/ with proxy=DIRECT
java.lang.ClassNotFoundException: com.org.example.applet.FileTransferApplet
    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 com.org.example.applet.FileTransferApplet not found.
java.lang.ClassNotFoundException: com.org.example.applet.FileTransferApplet
    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: com.org.example.applet.FileTransferApplet
basic: Dialog type is not candidate for embedding
security: Reset deny session certificate store
security: Reset deny session certificate store
basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@1fbe203

解决方案

I don't have an answer, but just wanted to provide more information.

I'm seeing the same thing where it tries to use http with port 443 which obviously won't work. Here the exception I get is different from yours: java.net.SocketException: Connection reset

I was seeing this behavior from a java applet and also from a java webstart program.

The user is not using any proxy server.

We tested Java 8 Update 25 on our own system here and it works fine. The user that had this issue has a Symantec anti-virus and firewall product installed. As far as I could tell it was not blocking anything.

We installed Java 7 Update 71 and then it started working.

这篇关于Java applet无法在Java8 / HTTPS上加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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