【问题标题】:Internet Explorer and Java securityInternet Explorer 和 Java 安全性
【发布时间】:2015-10-13 23:56:09
【问题描述】:

我想知道小程序是否不再在 IE 中运行。

我已经搜索了很多,但答案似乎会根据版本以及何时提出此问题而不断变化。所以我正在寻找一个简单的权威答案。

这是我的设置:

  • 在 Windows 7 上运行 IE 11
  • Java 1.8.0_60 配置为 Java 运行时环境
  • 未安装其他 Java 版本
  • 选中“在浏览器中启用 Java 内容”
  • Java 安全设置为“高”
  • 站点(目前为本地文件)在 Java 安全异常站点列表中指定

我意识到 Java 将不再在 Chrome 中运行,但到今天在 IE 中是否仍然可能(使用上面的最新版本)?

更新:

我已将安全要求添加到清单中,并且我已对 jar 文件进行了自签名,但仍有一些地方不太正确,因为小程序没有显示其输出。

这是 jar 文件中存在的清单:

Manifest-Version: 1.0
Application-Name: test
Permissions: all-permissions
Caller-Allowable-Codebase: *
Codebase: *
Application-Library-Allowable-Codebase: *
Build-Jdk: 1.8.0_60
Created-By: 1.8.0_45 (Oracle Corporation)

Name: HelloApplet.class
SHA-256-Digest: wkK+EUOV7eaecddcrIwBnjeZ+95GyyuK7OiVXR4XJ+4=

这是小程序代码:

import java.applet.Applet;
import java.awt.Graphics;

public class HelloApplet extends Applet {
    public void paint(Graphics g) {
        g.drawString("Hello world!", 50, 25);
    }
}

这是网页(已更新为使用小程序标签)

<!DOCTYPE html>
<html>
<body>
    <applet code = 'HelloApplet' 
        archive = 'HelloApplet.jar'
        width = 300
        height = 300>
        <param name="permissions" value="all-permissions" />
    </applet>
</body>
</html>

这里有什么问题吗?

【问题讨论】:

  • 谢谢。我已经更新了网页以使用小程序标签(见上面的代码)。一定还有什么不正确的地方。还有什么需要改变的吗?
  • 看起来不错。也许会有所帮助。打开 Java 控制面板,在“常规”选项卡中,应该有一个“临时文件设置”。转到“设置”并删除临时文件。出于开发目的,我建议您取消选中“保留临时文件...”。转到安全并检查是否选中了“启用 java 内容..”以及是否未将安全级别设置为“非常高”。同时清理浏览器缓存。重启浏览器。
  • 请忽略之前评论的“转到安全”这句话。
  • 感谢所有帮助。我在 Java 控制面板中进行了更改并清除了浏览器缓存。不幸的是,浏览器中仍然没有输出。此外,我还做了以下操作:1. 重新启动我的笔记本电脑 2. 检查 IE 开发人员工具中的控制台以确保没有错误显示 3. 使用 appletviewer 验证小程序实际显示成功 不知道还有什么可以在这里尝试的。跨度>

标签: java security internet-explorer applet


【解决方案1】:

小程序仍在 IE 中运行。但是从 7u51 Java 版本开始,对 MANIFEST.MF 文件有了新的安全要求。

https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias

简而言之,你至少需要定义 Permissions、Codebase 属性。

从我的小程序中截取的代码(jar 文件中的 META-INF/MANIFEST.MF):

Manifest-Version: 1.0
Application-Library-Allowable-Codebase: *
Application-Name: app-name
Build-Jdk: 1.7.0_79
Permissions: all-permissions
Caller-Allowable-Codebase: *
Codebase: *

添加要求取决于小程序所需的访问权限类型(所有权限或沙盒)。

更多信息: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html

【讨论】:

  • 感谢您的回复。我正在努力让它发挥作用,并将提供更新。
猜你喜欢
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-11
  • 2020-05-29
  • 2010-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多