我们开发了一个分析应用程序,它使用特殊的Java小程序(由IBM开发)来查看一些数据。这是一个在Apache上运行的Django应用程序。一切工作正常,直到我们转移到SSL。这种行为非常奇怪,我们感到困惑并且有点担心如何使这个applet在HTTPS上工作。 好的,我已经阅读了JRE 7u51(Java JRE插件)中介绍的安全更新的许多主题,但我认为这不是我们问题的原因。在HTTPS上的Firefox中加载Java Applet

我现在的环境是:

火狐:版本27.0

IE浏览器:版本10.0.12

阿帕奇:2.2版本

SSL证书在Apache的定义:自签名证书用openssl生成

在HTTP上运行: Java applet在两个浏览器(Firefox,IE)上运行,并且数据显示正确。

运行在HTTPS:

A)IE浏览器:Java小程序没有错误运行和数据正确显示。 B)Firefox:抛出ClassNotFoundException。详细信息:

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

在我想补充一点,我们与JRE 6和没有META-INF是强制性的JRE 7u51适当的参数运行小程序时,有同样问题的结束。所以我认为Java JRE(插件版本)的版本不是我们问题的原因。此外,该小程序在IE浏览器(HTTP和HTTPS)上完美工作。

有什么想法?

2014-02-09

michas

linux firefox applet,在HTTPS上的Firefox中加载Java Applet相关推荐

  1. 【技术分享】如何解锁高通骁龙660上的安卓引导加载程序

    本文是我们在DEF CON 29大会上的演示视频的配套文章,视频的链接地址为https://www.youtube.com/watch?v=z4gIxdFfJDg. 要想在安卓手机上获得root权限, ...

  2. html5 加载下一页,html5上划实现分页加载

    一.功能分析 当页面有许多相同类型数据需要加载,而且单个屏幕不足以显示这些内容,就需要使用分页加载方法,在手机客户端,一般都是使用上划下划的方式,为了有更好的用户体验,还需要在加载数据前,显示类似&q ...

  3. Win32编程之从内存中加载位图,并显示到hdc上

    近期在项目中遇到一个问题,如何在实现从内存中加载RBG帧数据,然后提交到hdc上显示,这里假设大家对win32程序已经很熟了,有了相关的框架,如果不熟的小伙伴可以看我的老师编写的一本书<游戏程序 ...

  4. 在 linux 中加载启动 zynq PL 程序

    目录 环境 使用 BIN 文件生成 附 在 zynq 使用系统时,可在 uboot 与 linux 中加载启动 PL 程序,一直以来用的都是在 uboot 中加载启动,本次试了试在 linux 中启动 ...

  5. ios 平滑移动view_iOS 关于列表上拉(平滑加载数据)自动加载数据的问题

    项目需求 我的的列表需要改变,原来的分页加载采用的是MJRefresh框架进行加载更多数据,这需要有一个上拉动作才能触发,而我的产品的意思是当快要滑动到底部时自动加载下一页数据.我自己看了一下,发现很 ...

  6. 网页无法打开, 位于 https://xxx 的网页无法加载,因为:net::ERR_NAME_NOT_RESOLVED

    HarmonyOS 开发Webview调用URL一直提示: 网页无法打开, 位于 https://xxx 的网页无法加载,因为:net::ERR_NAME_NOT_RESOLVED 经过多次测试发现, ...

  7. 天地图服务在https协议下请求正常加载显示地图

    首先把需要使用的天地图服务,如矢量地图服务地址如下: //天地图矢量服务 "http://t0.tianditu.gov.cn/vec_c/wmts?SERVICE=WMTS&REQ ...

  8. android异步加载图片并缓存到内存和sd卡上,Android批量图片加载经典系列——采用二级缓存、异步加载网络图片...

    http://www.cnblogs.com/jerehedu/p/4560119.html 2015-06-08 09:20 by 杰瑞教育, 232 阅读, 1 评论, 收藏, 编辑一.问题描述 ...

  9. 小程序 下拉刷新 上拉触底加载数据

    1. 下拉刷新 下拉刷新主要用到「onPullDownRefresh」函数,我们在新建目录然后新建page之后在wxml文件中会自动生成很多生命周期函数,其中就会生成「onPullDownRefres ...

最新文章

  1. 12 个 Pandas 数据处理高频操作
  2. python读取excel送到网页_python怎么读取excel!怎么用python将excel数据写入网页中
  3. ConcurrentHashMap之实现细节(转)
  4. Spring IOC容器组件注入的几种方式
  5. html input不能输入小数_【Python基础(八)】输入和输出
  6. [导入]从函数RND的使用想到的!
  7. 《21天学通Java(第6版)》—— 导读
  8. 商业计划书范文3000_生鲜电商商业计划书范文|优鲜选
  9. ria技术_JavaFXpert RIA示例挑战截止日期已延长
  10. sql 语句,主键外键详解
  11. 在路上——黄山、宏村
  12. DRAM存储系统结构
  13. 【学习】关于网站中图片的各类交互
  14. 服务器被入侵如何排查
  15. CSS盒子模型学习-02
  16. eclipse打不开的问题
  17. 4.ERC20常用查询操作
  18. 步步惊心的三文鱼财富
  19. echarts——实现3D地图+3D柱状图 效果——粗糙代码记录——技能提升
  20. redis 之redis持久化rdb与aof

热门文章

  1. 最后一个经济学通才萨缪尔森
  2. 计算机应用基础本科实验报告,实验一 计算机基础操作 实验报告
  3. 档案装订需要使用计算机吗,会计档案的装订包括什么
  4. win10python3.9安装pycocotools
  5. SpringBoot网上商城(源代码+数据库+13000字文档)013
  6. js判断字符串为回文
  7. java 定时执行方法_Java定时执行任务 方法总结
  8. 《软件过程管理》 第三章 软件过程组织管理
  9. 管理知识和解决信息爆炸问题的4种方法
  10. 360良医2.0 一个规范的智能医疗信息平台,才能推动互联网医疗