linux firefox applet,在HTTPS上的Firefox中加载Java Applet
我們開發(fā)了一個(gè)分析應(yīng)用程序,它使用特殊的Java小程序(由IBM開發(fā))來查看一些數(shù)據(jù)。這是一個(gè)在Apache上運(yùn)行的Django應(yīng)用程序。一切工作正常,直到我們轉(zhuǎn)移到SSL。這種行為非常奇怪,我們感到困惑并且有點(diǎn)擔(dān)心如何使這個(gè)applet在HTTPS上工作。 好的,我已經(jīng)閱讀了JRE 7u51(Java JRE插件)中介紹的安全更新的許多主題,但我認(rèn)為這不是我們問題的原因。在HTTPS上的Firefox中加載Java Applet
我現(xiàn)在的環(huán)境是:
火狐:版本27.0
IE瀏覽器:版本10.0.12
阿帕奇:2.2版本
SSL證書在Apache的定義:自簽名證書用openssl生成
在HTTP上運(yùn)行: Java applet在兩個(gè)瀏覽器(Firefox,IE)上運(yùn)行,并且數(shù)據(jù)顯示正確。
運(yùn)行在HTTPS:
A)IE瀏覽器:Java小程序沒有錯(cuò)誤運(yùn)行和數(shù)據(jù)正確顯示。 B)Firefox:拋出ClassNotFoundException。詳細(xì)信息:
cache: Initialize resource manager: [email?protected]
basic: Added progress listener: [email?protected]
basic: Plugin2ClassLoader.addURL parent called for https://demoapp.domain.com/s/ixv/i2Viewer.jar
security: Accessing keys and certificate in Mozilla user profile: null
security: JSS is not configured
basic: Loading Java Applet ...
network: Cache entry not found [url: https://demoapp.domain.com/s/ixv/i2Viewer.jar, version: null]
network: Connecting https://demoapp.domain.com/s/ixv/i2Viewer.jar with proxy=DIRECT
network: Connecting http://demoapp.domain.com:443/ with proxy=DIRECT
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Checking if SSL certificate is in Deployment permanent certificate store
java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.security.ssl.InputRecord.readFully(Unknown Source)
at sun.security.ssl.InputRecord.read(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.waitForClose(Unknown Source)
at sun.security.ssl.HandshakeOutStream.flush(Unknown Source)
at sun.security.ssl.Handshaker.sendChangeCipherSpec(Unknown Source)
at sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source)
at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source)
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(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$1000(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.(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$1.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: Cache entry not found [url: https://demoapp.domain.com/investigation/com/VDK/viewer/Chart.class, version: null]
network: Connecting https://demoapp.domain.com/investigation/com/VDK/viewer/Chart.class with proxy=DIRECT
network: Connecting http://demoapp.domain.com:443/ with proxy=DIRECT
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Checking if SSL certificate is in Deployment permanent certificate store
network: Cache entry not found [url: https://demoapp.domain.com/investigation/com/VDK/viewer/Chart/class.class, version: null]
network: Connecting https://demoapp.domain.com/investigation/com/VDK/viewer/Chart/class.class with proxy=DIRECT
network: Connecting http://demoapp.domain.com:443/ with proxy=DIRECT
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Checking if SSL certificate is in Deployment permanent certificate store
java.lang.ClassNotFoundException: com.VDK.viewer.Chart.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 com.VDK.viewer.Chart.class not found.
java.lang.ClassNotFoundException: com.VDK.viewer.Chart.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: com.VDK.viewer.Chart.class
basic: Dialog type is not candidate for embedding
basic: Removed progress listener: [email?protected]
security: Reset deny session certificate store
在我想補(bǔ)充一點(diǎn),我們與JRE 6和沒有META-INF是強(qiáng)制性的JRE 7u51適當(dāng)?shù)膮?shù)運(yùn)行小程序時(shí),有同樣問題的結(jié)束。所以我認(rèn)為Java JRE(插件版本)的版本不是我們問題的原因。此外,該小程序在IE瀏覽器(HTTP和HTTPS)上完美工作。
有什么想法?
2014-02-09
michas
總結(jié)
以上是生活随笔為你收集整理的linux firefox applet,在HTTPS上的Firefox中加载Java Applet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于C++和Opencv2的虹膜识别工程
- 下一篇: linux firefox 配置文件,对