关键字:jarsigner 找不到证书链
注意:JAVA最好用安装版的,否则可能浏览器找不到applet插件
详见如下代码:
1、Applet类
package com; import java.applet.*; import java.awt.*; import java.io.IOException; public class HelloApplet extends Applet { public void paint(Graphics g) { g.drawRect(0, 0, 499, 149); g.drawString("Hello World", 5, 70); } /** * 通过applet调用本地的计算器 */ public void openApp() { String url = "C:\\WINDOWS\\system32\\calc.exe"; System.out.println("url=" + url); try { Runtime.getRuntime().exec(url); } catch (IOException e) { e.printStackTrace(); } } }
2、调用此applet.jar的JSP页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>demo</title> </head> <body> <APPLET CODE="com.HelloApplet.class" id="helloApplet" codebase="." ARCHIVE = "test_applet.jar" WIDTH="500" HEIGHT="150"> </APPLET> <p><a href="#" onclick="openApp()">计算器</a></p> <script type="text/javascript"> function openApp() { var helloApplet = document.getElementById("helloApplet"); helloApplet.openApp(); } </script> </body> </html>
可以见到,Applet中调用了windows系统的计算器,基于applet的沙箱机制,它是不可能访问的,要想访问就必须对test_applet.jar进行签名。(惭愧的是,我刚刚重新生成了test_applet.jar,未签名,好像也能访问calc.exe,奇怪了)
1、产生密钥库
keytool -genkey -keystore hello.store -alias hello
2、产生证书
keytool -export -keystore hello.store -alias hello -file hello.cert
3、将密钥库与test_applet.jar绑定
jarsigner -keystore hello.store test_applet.jar hello
4、查看test_applet.jar的签名
jarsigner -verify -verbose -certs test_applet.jar
refurl:http://hi.baidu.com/dobodo/item/2552fc01d26296d11ff046b9
http://blog.csdn.net/jacksonlai/article/details/2833221
另外,注意java.policy的位置:
applet调用本地程序时,需要修改java.policy,而这个java.policy的位置在:C:\Program Files\Java\jre6\lib\security,不是C:/Program Files (x86)/Java/jdk1.6.0_35/JRE/的位置,这一点要注意!
============================================================
附上applet中产生按钮,然后直接点击此按钮和服务器通讯。
refurl:http://www.cafeaulait.org/course/week6/13.html
============================================================
applet调用第三方jar时,都须放在archive属性里,如果有多个,用逗号隔开。
相关推荐
在Java中,对Applet签名意味着使用私钥对Applet的字节码进行加密,然后使用对应的公钥验证。这使得用户可以检查Applet是否来自可信的源,并决定是否给予额外的权限。 **签名步骤** 1. **获取证书**:首先,你需要一...
可控制键盘按键 当applet用需要签名才有权限
在JavaApplet中,数字签名是一个至关重要的概念,它确保代码的完整性和来源的可信性,防止恶意篡改。本篇文章将深入探讨JavaApplet的数字签名方法以及如何使用打包签名工具JavaAutoPlug.exe来实现这一过程。 首先,...
开发者需要确保用户已安装并启用了Java插件,同时对Applet的安全策略和签名有深入理解,以确保其在不同环境下的正常运行。 总结来说,这款“网页截图工具,采用Java Applet实现”是一个利用Java的图形和交互能力在...
JavaApplet是Java技术在早期Web开发中的一种应用方式,它允许开发者创建可以在浏览器中运行的小型Java程序。本教程全面覆盖了JavaApplet的基础知识、实战技巧和常见问题,旨在帮助学习者深入理解并掌握这一技术。 1...
- 数字签名:为了突破安全限制,开发者可以对Applet进行数字签名,以增加信任度。 7. **Applet的替代技术** - JavaFX:Oracle推荐的现代Java GUI开发框架,提供更丰富的图形和媒体功能,支持桌面和Web应用程序。 ...
### Java Applet应用简介 #### 一、Java Applet概述 Java Applet 是一种特殊的应用程序,主要用于在网页上提供动态交互式内容。不同于独立运行的 Java 应用程序(Application),Applet 需要嵌入到 HTML 页面中,...
对Java Applet和Java Web Start进行数字签名
为了解决这个问题,Java引入了数字签名机制,确保Applet的来源可信且未被篡改。 **数字签名的概念** 数字签名是一种用于验证电子文档完整性和发送者身份的技术。它通过加密算法对数据进行哈希运算,然后使用私钥对...
这个"Java Applet实例编程.rar"压缩包显然包含了关于如何使用Java进行Applet编程的相关资料。 在Java Applet的编程中,你需要了解以下关键知识点: 1. **Java基础**:首先,你需要掌握Java的基本语法,包括类、...
在Java Applet环境中,数字签名对于增强安全性和实现特定功能(如访问本地文件系统)至关重要。数字签名通过使用公钥加密技术来实现。具体而言,Applet的创建者使用私钥对Applet进行签名,然后用户端(通常是浏览器...
9. **Applet签名与数字证书**:为了突破安全限制,开发者可以对Applet进行签名,用数字证书证明其来源和安全性。 10. **Java小应用程序的替代技术**:随着Web技术的发展,Applet逐渐被Java Web Start、JavaFX、...
这个"javaapplet"压缩包可能包含了用于教学或示例的Applet程序,适合初学者了解和学习。下面我们将深入探讨Java Applet的相关知识点。 **一、Java Applet的基本概念** Java Applet是一种特殊的Java程序,它被嵌入...
为了打破这些限制并确保代码的来源可信,Java引入了“Applet签名”这一概念。 Applet签名是Java平台为了保护用户安全而实施的一项机制,它允许开发者证明其代码的来源和未被篡改。签名过程涉及到了公钥加密技术,...
- 如果需要更多的权限,可以使用签名的Applet,但必须谨慎处理,因为这可能会带来潜在的安全风险。 6. **现代替代方案** - 随着技术的发展,Java Applet的重要性已逐渐下降,现代浏览器不再支持Java Applet。 - ...
在Applet中,`MANIFEST.MF`文件尤其重要,它定义了Applet的主要类和其他运行时信息,包括版本号、签名信息等,这对于Applet的正确加载和执行至关重要。 学习这些Java Applet实例,初学者可以了解到如何在Applet中...
在Applet中,可能包含了关于Applet的签名信息或类路径设置。 总结,这个压缩包提供了几个经典的Java Applet实例,可以用来学习和理解早期Web交互式内容的创建。尽管Java Applet已不再是主流,但理解其工作原理对于...
3. **代码签名问题**:为了安全,Java Applet通常需要进行数字签名,以证明其来源和防止恶意代码。未签名或签名验证失败的Applet可能会被浏览器拒绝运行。 4. **权限问题**:由于安全限制,Applet运行在沙箱环境中...
在“Java Applet小程序的数字签名和客户端认证.pdf”文档中,可能会详细解释如何进行Applet的签名过程,包括获取数字证书、使用工具如 jarsigner 进行签名,以及如何处理客户端的证书导入和权限设置。此外,文档可能...
本教程将详细介绍在Java 2环境下,如何为Applet进行数字签名,以及相关的Java知识。 一、Java Applet与数字签名 1. Java Applet:Java Applet是一种可以在Web浏览器中运行的Java小程序。它们通过Java插件(现在已...