转自:http://100air.iteye.com/blog/52946
用Applet写的java小程序如果没有经过签名,那么访问客户端程序下载后会受到安全限制;沙箱机制对Applet的安全性限制在浏览器或者appletviewer中运行远程主机上存放的Applet时,Java VM认为它是不可信任的,将其置于所谓sandbox的保护之下,在这样的情况下Applet的运行受到下面的限制
:
a) Applet不能读写客户端主机上的文件
b) Applet不能执行JCE/JCA中的addProvider操作
c) 在进行网络连接时Applet只能与提供它的服务器建立连接
d) Applet在事件捕获、读取系统信息等其他方面受到限制
e) 在Netscape浏览器中,不提供java.security.*的支持,在IE浏览器中对Applet的运行做了比appletviewer中更加高的限制
怎样对java小程序签名受到很多人的关注,网上也有这些方面可供参考的文档,但都不是完整,在这里我给出一份可具体操作的文档,希望能给大家一些帮助。 场景:test.jar:内含待签名的java小程序 结果:签名后,客户端能自动下载java小程序,且java小程序能访问客户端的任何资源
步骤:
(1)将java小程序打包
jar cvf test.jar test.class
(2)生成名为chinani.store的密钥库,别名为chinani
keytool -genkey -keystore chinani.store -alias chinani
密码:123456 (根据需要自己输入) 以下根据需要输入,最后确认:y
(3)导出chinani.cer数字证书
keytool -export -keystore chinani.store -alias chinani -file chinani.cer
密码:123456 (根据需要自己输入)
(4)对test.jar文件进行签名
jarsigner -keystore chinani.store test.jar chinani
密码:123456 (根据需要自己输入)
最后写一个html文件,运行此文件即可自动下载安装运行java小程序HTML文件内容如下:
<applet code=Test
archive="Test.jar"
width=320 height=300>
</applet>
分享到:
相关推荐
在JavaApplet中,数字签名是一个至关重要的概念,它确保代码的完整性和来源的可信性,防止恶意篡改。本篇文章将深入探讨JavaApplet的数字签名方法以及如何使用打包签名工具JavaAutoPlug.exe来实现这一过程。 首先,...
在Java中,对Applet签名意味着使用私钥对Applet的字节码进行加密,然后使用对应的公钥验证。这使得用户可以检查Applet是否来自可信的源,并决定是否给予额外的权限。 **签名步骤** 1. **获取证书**:首先,你需要一...
恶意用户可能通过诱骗用户下载并安装包含恶意代码的Applet,或者攻击者可能试图绕过签名验证。因此,用户应该只信任来自可靠来源的签名Applet,并保持Java运行时环境的更新,以防止已知安全漏洞被利用。 总的来说,...
具体而言,Applet的创建者使用私钥对Applet进行签名,然后用户端(通常是浏览器)使用相应的公钥验证签名的有效性。 - **数字签名的必要性**:由于Java Applet运行于用户的计算机上,因此需要采取额外的安全措施来...
为了打破这些限制并确保代码的来源可信,Java引入了“Applet签名”这一概念。 Applet签名是Java平台为了保护用户安全而实施的一项机制,它允许开发者证明其代码的来源和未被篡改。签名过程涉及到了公钥加密技术,...
这个"javaapplet"压缩包可能包含了用于教学或示例的Applet程序,适合初学者了解和学习。下面我们将深入探讨Java Applet的相关知识点。 **一、Java Applet的基本概念** Java Applet是一种特殊的Java程序,它被嵌入...
1. **身份验证**:签名验证了Applet是由声称的发布者创建的,因为只有拥有相应私钥的开发者才能生成有效的签名。 2. **完整性检查**:数字签名能够检测到Applet在传输过程中是否被篡改,确保用户接收的代码未经修改...
本教程将详细介绍在Java 2环境下,如何为Applet进行数字签名,以及相关的Java知识。 一、Java Applet与数字签名 1. Java Applet:Java Applet是一种可以在Web浏览器中运行的Java小程序。它们通过Java插件(现在已...
- 如果需要更多的权限,可以使用签名的Applet,但必须谨慎处理,因为这可能会带来潜在的安全风险。 6. **现代替代方案** - 随着技术的发展,Java Applet的重要性已逐渐下降,现代浏览器不再支持Java Applet。 - ...
未签名或签名验证失败的Applet可能会被浏览器拒绝运行。 4. **权限问题**:由于安全限制,Applet运行在沙箱环境中,不能访问本地文件系统或网络资源。如果Applet试图执行超出其权限的操作,会抛出异常。 5. **编译...
- **数字签名和证书**:Applet可以使用数字签名来验证其来源,以防止恶意代码。同时,Servlet服务器也可以使用数字证书来建立信任连接。 - **身份验证与授权**:实施用户身份验证机制,例如HTTP基本认证、表单认证...
在IT领域,尤其是在Java开发中,Applet签名与JAR文件签名是确保代码来源可信、保护用户免受恶意代码侵害的重要环节。以下是对标题“applet签名方法”以及描述“applet签名 jar签名工具”的详细解析,涵盖相关知识点...
五、Applet签名和安全问题 由于Applet运行在用户机器上,可能会对系统安全构成威胁。因此,从Java 2 SDK 1.2开始,引入了数字签名的概念,以验证Applet的来源和授权。未签名的Applet可能受到浏览器的安全限制,如...
如果签名验证通过,则允许Java小程序在客户端执行。这种方法既保障了程序的安全性,又能够赋予经过认证的Java程序更多的执行权限。 本文还提到了数字签名在解决纠纷方面的作用,即提供了第三方仲裁机构验证签名有效...
Applet是Java的一个早期特性,允许在Web浏览器中运行小型的Java程序,而Swing则是Java GUI(图形用户界面)工具包,提供了丰富的组件来构建桌面应用程序。 描述中提到“Applet与Swing编写一个简单的HTML浏览器”,...
为了确保Applet的安全性,避免恶意代码对用户系统造成损害,Java引入了Applet签名机制。通过签名,不仅可以验证Applet的来源,还可以赋予其访问客户端资源的权限。 #### 二、Applet签名的重要性 1. **验证来源**:...
总结来说,要超越Java Applet的安全限制,开发者可以为Applet的代码进行数字签名,然后配置Policy文件,赋予Applet特定的权限,如访问本地文件系统或特定网络资源。这种方式使得Applet可以在用户同意的情况下执行更...
Applet签名制作是Java开发中的一个重要环节,尤其是在早期的Web应用程序中,Applet是一种常见的用于在浏览器中执行Java代码的小程序。为了确保Applet的安全性和防止恶意代码的运行,Java引入了签名机制。本文将详细...
因此,`mupload`可能使用了数字签名来验证Applet的来源,防止恶意代码的注入。同时,Applet的权限控制也是关键,通过设置`applet.policy`文件,我们可以限制Applet对本地资源的访问,只允许其进行必要的文件读写操作...
3. **权限管理**:在Java Web Start或Applet等场景下,签名的JAR文件可以获得更多的系统权限,例如读写文件、访问网络等。 4. **防止中间人攻击**:通过证书链验证,确保数据在传输过程中未被第三方篡改。 实现Java...