Internet Explorer 和 Java 安全
Internet Explorer and Java security
我想知道小程序是否不再 运行 在 IE 中。
我搜索了很多,但答案似乎根据版本和问这个问题的时间而不断变化。所以我正在寻找一个简单的权威答案。
这是我的设置:
- 运行 Windows 7
上的 IE 11
- Java1.8.0_60配置为Java运行时间环境
- 没有安装其他 Java 版本
- "Enable Java content in browser"勾选
- Java 安全设置为 "high"
- 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>
这里有什么问题吗?
小程序仍在 IE 中运行。但是从7u51Java版本开始,对MANIFEST.MF文件有了新的安全要求。
https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias
总之,你至少需要定义权限,代码库属性。
从我的小程序中截取的代码(META-INF/MANIFEST.MF 在 jar 文件中):
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
我想知道小程序是否不再 运行 在 IE 中。
我搜索了很多,但答案似乎根据版本和问这个问题的时间而不断变化。所以我正在寻找一个简单的权威答案。
这是我的设置:
- 运行 Windows 7 上的 IE 11
- Java1.8.0_60配置为Java运行时间环境
- 没有安装其他 Java 版本
- "Enable Java content in browser"勾选
- Java 安全设置为 "high"
- 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>
这里有什么问题吗?
小程序仍在 IE 中运行。但是从7u51Java版本开始,对MANIFEST.MF文件有了新的安全要求。
https://blogs.oracle.com/java-platform-group/entry/new_security_requirements_for_rias
总之,你至少需要定义权限,代码库属性。
从我的小程序中截取的代码(META-INF/MANIFEST.MF 在 jar 文件中):
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