gpt4 book ai didi

java - 如何为新的 Java 安全屏障编写 list 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:27:46 25 4
gpt4 key购买 nike

我有一个 Java 小程序需要在我的网站上部署。

我的网站有很多页面,小程序出现在其中的一些页面上。我网站的基本域是 www.mycompany.com。但是小程序会出现在,例如:www.mycompany.com/dogwww.mycompany.com/catwww.mycompany.com/pen

入口点的包是com.mycompany.MyApplet

按照 Java Security Manifest Changes in the Browser 中的说明进行操作,我为我的应用程序创建了以下 list 。请有人帮我复查一下,以便我把它弄对吗?基本上,当人们试图从我的网站运行我的小程序时,我不希望出现任何类型的警告。

list

Manifest-Version: 1.0
Created-By: 1.7.0_51
Permissions: sandbox
Application-Name: My Farming Business
Application-Library-Allowable-Codebase: www.mycompany.com/where_the_applet_jar_actually_lives
Caller-Allowable-Codebase:www.mycompany.com
Codebase: www.mycompany.com

目前,在使用上述 list 重新部署后,我得到以下对话框:

Application Blocked by Security Settings: Your security settings have blocked an untrusted application from running

引用:How do I inject new manifest into an existing jar for applet

此外,我使用以下步骤对我的 jar 进行签名:

  1. keytool -genkey -keystore myKeyStore -alias me
  2. keytool -selfcert -keystore myKeyStore -alias me
  3. jarsigner -keystore myKeyStore jarfile.jar me

最佳答案

至于你得到的错误,我可以想到三个可能的问题:

1) 你的 applet 没有为它试图做的事情请求许可。

会发生什么?“权限”告诉用户应用程序对用户的计算机有多大的“权力”。 “沙盒”不允许应用程序做太多事情,“所有权限”让小程序获得更多控制权。当然,您可能希望使用最低权限(即沙箱),因为您使用的权限越低,用户收到的警告提示就越少。但是,例如,如果您的小程序试图访问用户的个人文件,但它的“权限”属性设置为“沙盒”,则该小程序将无法工作,因为它没有为它正在尝试做的事情请求许可.

如何解决?很简单,只需将 Permissions: sandbox 更改为 Permissions: all-permissions

2) 您的计算机不允许运行自签名应用程序。

会发生什么? 大多数浏览器对小程序都有非常严格的规则。特别是如果您需要所有权限(您不需要)。

如何解决? 在 java 控制面板中将您的 java 安全性更改为较低的值。你可以在你的电脑上搜索“java control panel”或者自己去这个路径(windows 8 由于某种原因找不到 java control panel 所以你必须自己寻找它) C:\program files JCP 中的\java\jre7\bin\javacpl.exe 转到安全选项卡并将其更改为中等。

3) 您的操作系统不允许您运行您自己签名的小程序。 (注意“你自己签名的小程序”而不是“自签名小程序”,这是没有官方证书的所有东西。操作系统通常会区别对待它们。)

如何解决?将小程序上传到网络主机服务并从另一台计算机输入,除了您签署小程序的计算机之外的所有计算机都应该能够打开小程序。


至于你提到的用户没有得到任何安全提示,这几乎是不可能的需求。操作系统、浏览器和防病毒软件种类繁多,您永远无法知道。但是,有几种方法可以减少安全提示的数量:

  • 自签名小程序(自签名是您在命令提示符下所做的)很可能总是显示安全提示。您可以购买官方 SSL,它会显着减少提示数量。
  • 如果您需要“所有权限”,您会收到比需要“沙盒”权限更多的提示。

我强烈建议您查看以下链接:

SSL:Where could I buy a valid SSL certificate?

权限:http://docs.oracle.com/javase/tutorial/deployment/applet/security.html


如果您遇到第 1 个问题,那就是 list 文件:

Manifest-Version: 1.0
Created-By: 1.7.0_51
Permissions: all-permissions
Application-Name: My Farming Business
Application-Library-Allowable-Codebase: www.mycompany.com/where_the_applet_jar_actually_lives
Caller-Allowable-Codebase:www.mycompany.com
Codebase: *

否则(如果您的问题是 2 或 3),您甚至不必更改 list 文件。

正如@tigran 提到的,如果您想从几个不同的地方运行您的小程序,您可能需要将“代码库”更改为 *。

关于java - 如何为新的 Java 安全屏障编写 list 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21374303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com