尝试让签名的小程序在浏览器中运行但惨败

2023-12-01

我创建了一个 JApplet,它使用两个外部库(JENA and JUNG)。当我从 IDE 运行小程序(使用 eclipse)时,它可以正常工作。我创建了一个 jar 文件,对其进行了签名(因为小程序需要从磁盘读取文本),创建了一个 HTML 页面来保存小程序,但是当我尝试在 Web 浏览器中运行它时,我收到了 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方法,项目中用到的所有类都存放在赋值包中。 test.jar 是签名的 jar 文件,它与 HTML 文件放在同一文件夹中。

我按照此线程中的步骤创建我的私钥/公钥、证书并对 jar 文件进行签名:如何签名和小程序(并使其发挥作用)

我有一个关于整个过程的问题清单,因为我不确定其中的几个步骤。

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

问题 2:双击生成的 jar 文件是否应该运行?因为它不运行 (我认为它不起作用,因为没有指定主类,因为小程序没有主方法,但我需要纠正)

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

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

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


  1. 你应该使用<PARAM NAME="archive" VALUE='applet.jar, external1.jar, external2.jar'>在 HTML 中的小程序声明中。您也可以尝试添加Class-Path给你的MANIFEST.MF主罐子的(参见here)
  2. 不可以,除非你有Main-Class在您指定的MANIFEST.MF
  3. 是的,以防外部 jar 执行一些安全敏感操作(例如读/写文件系统)
  4. No.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试让签名的小程序在浏览器中运行但惨败 的相关文章

  • 在 spring-boot 中设置 base-href 和 context-path - Angular 6 应用程序

    我正在构建一个 Web 应用程序 其中 UI 客户端组件是使用 Angular 6 构建的 后端 服务器端 位于 Spring boot 上 申请预计可在 http localhost 8080 FUtility 我通过在 appmodul
  • Java Swing 应用程序消息对话框帮助

    我正在开发 Java Swing 应用程序 我需要创建一个如图所示的对话框 我不知道这个的名字 我无法解释 所以我附上一张照片 请告诉我这叫什么以及如何在我的 GUI 应用程序中创建它 给猫剥皮的方法不止一种 public final cl
  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • 如果在 addHeader 之前写入正文,HttpServletResponse 会丢失标头吗?

    环境 Java HotSpot TM 64 位服务器 VM 内部版本 16 3 b01 混合模式 tomcat6 当我使用HttpServlet发送html页面时 如下所示 resp getWriter append body body i
  • Java:while循环冻结程序

    我正在制作一个游戏 我需要每 3 秒更新一次 JProgressBar 为此 我使用 while 循环 问题是我的程序由于 while 循环而冻结 我在其他问题中读到它 他们没有帮助我解决这个问题 我不知道如何解决 这是我的代码 publi
  • 在 json 中解析尾随字符

    我正在尝试检查 json 是否有效 并且我遇到了奇怪的行为 当我将一些字符附加到可解析的 json 时 jackson 和 gson 都会解析它 并且它们会忽略尾随字符 我想检查 json 是否严格有效 请帮忙 我尝试了几个标志mapper
  • AMQP Spring 集成错误处理

    我的集成流程如下所示 Bean public IntegrationFlow auditFlow Qualifier eventLoggingConnectionFactory ConnectionFactory connectionFac
  • 如何将日期字符串解析为Date? [复制]

    这个问题在这里已经有答案了 如何将下面的日期字符串解析为Date object String target Thu Sep 28 20 29 30 JST 2000 DateFormat df new SimpleDateFormat E
  • JTree ConvertValueToText 返回在更改时被截断

    我有一个自定义树实现convertValueToText 此实现取决于某些全局状态 如果返回的字符串比先前返回的字符串更长 实际上我认为更宽 因为以像素为单位触发它 则文本将被截断并用 填充 当重绘是由 取消 选择元素或某个元素引起时 情况
  • 我可以使用 Selenium Webdriver 测试元素的顺序吗?

    有一个表单 其中有 3 个字段 具有 3 个不同的 ID fieldset div div fieldset
  • ThreadPoolExecutor 和队列

    我以为使用线程池执行器 http docs oracle com javase 6 docs api java util concurrent ThreadPoolExecutor html我们可以提交Runnables 要在以下位置执行B
  • 如何在 QueryDSL 中选择文字

    我目前正在开发一个使用 queryDSL 和 hibernate 的项目 其中它需要一个选择文字 按照发布的示例here https stackoverflow com questions 18691317 querydsl how to
  • java.lang.ClassNotFoundException: org.jboss.logging.Logger

    我有一个奇怪的问题 我有一个JMS https en wiktionary org wiki JMS客户端应用程序和MDB https en wikipedia org wiki Enterprise JavaBeans Message d
  • 将 Maven 控制台与 m2eclipse 一起使用

    Maven 新手在这里 有没有办法在 Eclipse 中打开控制台并在 M2Eclipse 插件上执行 Maven 命令 这是一个非常好的插件 但我环顾四周 没有找到我想要的一些功能 谢谢 如果你想运行特定的maven插件 你可以这样做 g
  • SQlite 获取最近的位置(带有纬度和经度)

    我的 SQLite 数据库中存储有纬度和经度的数据 我想获取距我输入的参数最近的位置 例如我当前的位置 纬度 经度等 我知道这在 MySQL 中是可能的 并且我已经做了相当多的研究 SQLite 需要一个自定义外部函数来实现半正弦公式 计算
  • Java DNSLookup MX 记录列表。类似于 MXToolBox

    我正在构建一个程序来列出域的所有 MX 记录 起初似乎工作正常 但与在线工具进行比较后http mxtoolbox com http mxtoolbox com 有些域程序无法获取 MX 记录 而 MXToolbox 可以 我不确定原因是什
  • 如何在 Hibernate 中自动递增复合主键中的 Id?

    我有一个带有复合主键的表 groupId and batchId 实体类看起来像 Entity name EMPLOYEE public class Employee EmbeddedId private EmployeePK employ
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • Volley 在第一次调用方法时返回 null

    我正在尝试使用 volley 从服务器检索数据 但是当我第一次调用此方法时 我收到服务器的响应 但该方法返回 null 如果我第二次调用它 我会得到最后的响应 public String retrieveDataFromServer Str
  • 需要在没有wsdl的情况下调用soap ws

    我是网络服务的新手 这个网络服务是由 siebel 提供的 我需要调用一项网络服务 我的客户向我提供了以下详细信息 这是 SOAP 对于产品 请使用它作为端点 Request

随机推荐

  • Apache POI 散点图创建

    Currently generating a scatterplot using POI however the chart comes out weird The topleft one is generated using my cod
  • CKAN 错误:服务器错误 500

    When I visit a page of a CKAN site I get an error Server Error with status 500 我该如何找出问题所在 我如何获得帮助 这个错误可能意味着很多事情 从技术上讲 服务
  • 如何调试 WebKit2GTK+ 扩展

    我正在尝试让 WebKit2GTK 扩展正常工作 这是一个简单的扩展 在创建页面时只会打印到控制台 这是我的项目结构 bin images include lib webextension libwebextension so libweb
  • 检查是否安装了VLC

    我从 C 应用程序调用 vlc 来播放视频 我需要一种方法来持续检查 VLC 是否已安装 我已尝试检查注册表项 但根据您的 Windows 版本或体系结构 它们似乎不一致或不可靠 有人有什么建议 建议吗 我想说你在尝试检测这一点时做了不必要
  • Javascript 点击事件触发两次,即使使用 stopPropagation

    我有一组这样的项目
  • 如何从 Gitlab CD 中的应用程序存储库链接部署脚本/存储库?

    假设您有 Repo A与通用应用程序 Repo B使用 Ansible 部署脚本 在 RepoA CI CD 运行程序中 我想从 Repo B 运行 Ansible 脚本 最好 最简单的方法是什么 我正在尝试的是仅为 RepoB 创建一个额
  • 跨多个 Windows 10 虚拟桌面的持久窗口?

    我有带有多个窗口的 C WPF 程序 我添加了对 Windows 10 桌面的支持 但用户希望在桌面之间移动时某些窗口保留在屏幕上 例如 如果在第一个桌面上打开窗口 A 并且他们翻转到第二个桌面 他们希望窗口 A 保留在新桌面上的相同位置
  • 在javascript中快速合并许多连续的多边形

    有谁知道合并数千个连续多边形的方法 我一直在我的原型中使用 turf 的 union 函数来执行此操作 但随着多边形列表的增加 所需的时间变得太慢 我希望 瞄准一个需要亚第二次的解决方案 我就是这样做的 const turfUnion re
  • 理解 Swift 中的单例

    我正在尝试在 SWIFT 中创建一个单例 这就是我到目前为止所做的 class Global class var sharedInstance Global struct singleton static let instance Glob
  • 每n个点求和

    我有一个向量 我需要对每个向量求和n数字并返回结果 这就是我目前计划做的方式 有更好的方法来做到这一点吗 v 1 100 n 10 sidx seq int from 1 to length v by n eidx c sidx 1 2 l
  • 忽略标准输入中的退格键

    我想制作一个程序 强制用户输入文本 但不允许他删除任何内容 在 C 中执行此操作的简单方法是什么 我唯一拥有的是 c getchar EOF c b 这是行不通的 有任何想法吗 POSIX unix 版本 include
  • ant 的 Findbugs 问题

    查找错误 findbugs Executing findbugs from ant task findbugs Running FindBugs findbugs java lang NoClassDefFoundError org apa
  • 通过 Excel VBA 连接 Citrix 上的 SAP

    我的机器上没有直接安装 SAP 并通过以下链接使用 SAP 窗口 https nedc ctx applications services axa tech intraxa Citrix AccessPlatform auth logged
  • 占位符在页面加载时打开 jQuery UI 自动完成组合框 (IE10)

    我正在使用 jQuery UI 自动完成组合框小部件 当我在组合框中添加占位符时 默认情况下会打开自动完成框 出现这种情况仅适用于 IE10 及更高版本 这是我的代码 create function this wrapper span ad
  • css 动画即使在不同时间开始,也会一起结束

    我有一些相同类型的元素 我希望它们共享相同的 css 动画 但我希望它们在不同的时间开始 结束动画 Codepen 为以下代码 html div class container div class box hidden div div di
  • 用户脚本 addEventListener 似乎没有附加到元素

    我正在尝试将 onclick 事件侦听器附加到现有元素 特别是不是button with a form 这是一个简单的div 通过用户脚本在网页上 然而 据我所知 即使在匿名函数中添加事件侦听器不应与现有用户脚本的超时规则发生冲突 它也不会
  • 如何使用 iOS 读取 CSV 文件

    我必须开发一个 iOS 应用程序 该应用程序可以从域上托管的 CSV 文件读取数据 是否有任何标准 API 可以帮助我做到这一点 我不需要下载 只需读取该文件 因为该文件每两分钟就会更新一次 我建议戴夫 德隆 s CHCSV解析器用于解析的
  • list2env(list, envir = .GlobalEnv) 中的错误:names(x) 必须是与 x 长度相同的字符向量

    在向每个 df 添加新列后 我尝试将数据帧列表取消列出到 R 环境中 我想为所有数据框保留相同的名称 我当前的代码 df list lt list CONCE84 dbf CONCE89 dbf CONCE92 dbf CONCE94 db
  • 从 DynamoDB 中删除大量项目的推荐方法是什么?

    我正在 DynamoDB 中编写一个简单的日志记录服务 我有一个由 user id 哈希值和时间戳 Unix epoch int 范围作为键的日志表 当该服务的用户终止其帐户时 我需要删除表中的所有项目 无论范围值如何 执行此类操作的推荐方
  • 尝试让签名的小程序在浏览器中运行但惨败

    我创建了一个 JApplet 它使用两个外部库 JENA and JUNG 当我从 IDE 运行小程序 使用 eclipse 时 它可以正常工作 我创建了一个 jar 文件 对其进行了签名 因为小程序需要从磁盘读取文本 创建了一个 HTML