gpt4 book ai didi

java - 试图让一个签名的小程序在浏览器中工作但惨遭失败

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:29:19 26 4
gpt4 key购买 nike

我创建了一个 JApplet,它使用两个外部库(JENAJUNG)。当我从 IDE(使用 eclipse)运行它时,小程序工作正常。我创建了一个 jar 文件,对其进行了签名(因为小程序需要从磁盘读取文本),创建了一个 HTML 页面来保存小程序,但是当我尝试在网络浏览器中运行它时,我得到了 java 安全警告对话框,当我按运行整个浏览器选项卡似乎挂起。

这是我写的 HTML 文件:

<html>
<head>
<title>Ontology Application</title>
</head>
<body>
<applet code="assignment.Launcher.class" width="1000" height="800" archive="test.jar"></applet>
</body>
</html>

Launcher类包含init、start、stop和destroy方法,项目中用到的所有类都存放在assignment包中。 test.jar 是签名的 jar 文件,它与 HTML 文件放在同一文件夹中。

我按照此线程中的步骤创建了我的私钥/公钥、证书并签署了 jar 文件: How to sign and applet (and get it to work)

我有一个关于整个过程的问题列表,因为我不确定几个步骤。

问题 1:我使用 eclipse 创建了 jar 文件(右键单击项目 -> 导出 -> JAR 文件)并保留默认设置。生成的 jar 文件是否包含我导入到项目中的引用库?如果答案是否定的,我如何在 jar 文件中包含引用的库?

问题二:双击生成的jar文件是否可以运行?因为它不运行(我认为它不起作用,因为没有指定主类,因为小程序没有主方法,但我希望得到纠正)

问题 3:因为我在我的小程序中使用外部库,我是否需要对所有导入的 jar 文件进行数字签名才能使小程序工作?或签署主 jar 文件(包含我的类)就足够了吗?

问题 4:如果有一天我设法使小程序在浏览器中运行,每次应用程序尝试从磁盘读取文本时,是否会弹出 java 安全警告对话框?还是加载小程序时安全警告对话框只显示一次?

提前致谢,很抱歉在一个线程中提出大量问题,但它们与主题密切相关:)

最佳答案

  1. 你应该使用<PARAM NAME="archive" VALUE='applet.jar, external1.jar, external2.jar'>在 HTML 中的小程序声明中。您也可以尝试添加 Class-Path给你的MANIFEST.MF主 jar(参见 here)
  2. 没有。除非你有 Main-Class在您的 MANIFEST.MF 中指定
  3. 是的,以防外部 jar 执行一些安全敏感的操作(如读取/写入文件系统)
  4. 没有。

关于java - 试图让一个签名的小程序在浏览器中工作但惨遭失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965537/

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