`
zengshaotao
  • 浏览: 778332 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

applet数字签名

    博客分类:
  • java
 
阅读更多

applet的沙箱控制导致applet不能主动的访问客户端的资源,不过通过applet的数字签名控制策略可以提升签名的jar文档的访问权限,以下是具体的全部过程:

一、压缩你的class类文件为jar包
1.假设你的需要压缩的类文件存在的包为:com.zst.test

2.在DOS窗口中进入你的classes目录并执行命令:jar cvf signtest.jar com.zst.test
3.执行命令后会在当前目录中找到signtest.jar文件,这个就是刚才生成的档案文件。我们可以修改它的后缀为rar,然后使用winrar压缩程序打开它查看看是否正确。

二、使用keytool工具生成密匙库
1.keytool工具位于${java_home}/bin目录下;
2.在DOS窗口中执行命令:keytool -genkey -keystore signtest.store -alias zst 
需要说明的是:signtest.store 是你的密匙库的名称,可以随意修改,后缀请不要修改! zst为别名,这个也可以改成自己喜欢的。
3.执行上述命令后,DOS窗口中会提示你输入keystore的密码、你的姓名、组织单位等等信息。这里要切记的是输入的密码,后面要用到的。在最后,我们输入y确认信息。然后再直接回车设置zst的主密码和store密码一致即可!


三、使用keytool工具导出签名时用到的证书
1.在DOS窗口中执行命令:keytool -export -keystore mytest.store -alias zst -file zst.cert 
注意:signtest.store 就是第二步生成的密匙库名称 ,zst 也是在第二步中我们指定的别名,zst.cert 为我们生成的证书的名称,可以自己修改名称,注意后缀不要改。
2.命令执行成功,我们会在当前目录下找到一个zst.cert文件,这个就是我们刚才生成的证书。


四、使用jarsigner工具签名jar压缩文档
1.jarsigner工具位于${java_home}/bin目录下;
2.在当前DOS窗口中执行命令:jarsigner -keystore signtest.store signtest.jar zst 

注意:signtest.store 就是我们在第二步中生成的密匙库名称 
signtest.jar 就是我们这第一步压缩的jar文档
zst是提供者的名称,这里设置为我们的别名


五、创建signtest.policy文件
1.在当前目录下创建一个signtest.policy文件,其内容如下:
keystore"file:signtest.store","JKS";
grantsignedBy"zst"
{
permission java.io.FilePermission"<<ALLFILES>>","read";
};
2.这个文件的意思就是说让所有由zst签名的applet都可以对本地的所有文件进行读操作。


六、归档文件
    通过上述的五个操作后,我们会在当前目录中找到如下几个文件:signtest.jar-签名后的jar文档、signtest.store-密匙库、zst.cert-证书、signtest.policy-访问策略文件。如果没有这些文件,那么你的applet数字签名过程就没有正确的完成,请检查上述的操作。以后,如果对打包的java文件做了修改,那么就需要重新签名一次才可以!


七、在网页中运行applet
1.假设你的applet中的主启动类为:com.test.TestApplet.class;整个前面生成的档案文件、证书等存储在目录:d:\test\myapplet下;
2.建立一applet_test.html文件,存放在任何目录下都可以,然后内容如下:

<HTML>

<BODY>

<APPLET CODEBASE="d:\test\myapplet" CODE="cn.test.TestApplet.class" ARCHIVE="mytest.jar" WIDTH=200 HEIGHT=100 name="myapp">    

</APPLET>    

</BODY>    

</HTML>  
    注意:其中的CODEBASE就是你的类的基础目录,CODE也就是你的APPLET的启动主类,ARCHIVE也就是签名后的JAR文档。
2.然后在IE中打开该html文件,那么会看到IE提示你是否信任该插件,也就是说我们的证书起作用了,然后确定运行后,就可以在页面上看到applet的运行效果了。

    但是由于SUN和MS的问题,目前IE并不支持最新的JRE,而是使用MS自己开发的JRE,所以这个也是影响APPLET发展壮大的一个原因。而且正是由于这个原因,SUN的java-plugin技术才会出现。使用SUN的java-plugin技术我们就可以在applet中使用最新的JAVA类库了。由于IE在遇到APPLET标签的时候会调用自己的JRE,但是如果客户机器上安装的JRE不是我们想要的版本,那么就会出错了。所谓java-plugin技术就是利用IE的插件机制来制定我们想要的JRE,我们可以在IE中使用OBJECT标签来调用APPLET,这样就不会引用MS的JRE了,从而达到我们想要的效果,而且java-plugin技术不仅仅支持IE,还支持Navigator等浏览器。不过我们需要编写比较复杂的HTML代码了,但是这一工作SUN已经帮我们做好了,在JDK1.4或更高的版本中SUN提供了一个HtmlConverter.exe工具来帮助将包含applet标签的html转换成包含OBJECT和EMBED标签的html代码,该工具位于${java_home}/bin目录下,对于1.4以前的版本该工具则是单独提供的,不过现在几乎都是1.4或1.5甚至更高版本的JDK了。

    该工具很简单,是图形化的工具,我们直接运行即可,代码也会自动生成。

分享到:
评论

相关推荐

    JavaApplet数字签名方法和打包签名工具

    在JavaApplet中,数字签名是一个至关重要的概念,它确保代码的完整性和来源的可信性,防止恶意篡改。本篇文章将深入探讨JavaApplet的数字签名方法以及如何使用打包签名工具JavaAutoPlug.exe来实现这一过程。 首先,...

    2022年Java2下Applet数字签名Java教程.docx

    Java 2下的Applet数字签名是确保Web应用程序安全和可信的关键环节。理解并正确实施这一过程对于开发安全的Java Applet至关重要。随着技术的演进,虽然Applet的使用逐渐减少,但其背后的数字签名概念在现代Web开发中...

    OpenSign,一个开源的Applet数字签名组件

    是为软件公司和对数字签名有兴趣的人创造一个环境,以便他们能为开放协作系统开发开 源组件。  OpenOCES项目提供了一个有用的组件——OpenSign,为符合标准的浏览器添加数字签 名功能,而不需要额外的插件。这个...

    applet-数字签名-访问windows注册表

    NULL 博文链接:https://stephen830.iteye.com/blog/254549

    applet签名的方法

    签名是软件发布者证明自己身份的一种方式,通过数字签名技术确保代码未被篡改,并且可以让用户确认代码来源。在Java中,对Applet签名意味着使用私钥对Applet的字节码进行加密,然后使用对应的公钥验证。这使得用户...

    Ant打包Applet并添加数字签名

    由于安全限制,Applet需要进行数字签名才能在用户的计算机上执行。本文将详细讲解如何使用Ant来打包Applet并添加数字签名。 首先,理解Ant的基本结构。Ant的构建文件通常命名为build.xml,它包含了各种构建任务和...

    Ant打包Applet并添加数字签名.rar

    用户访问这个页面时,浏览器会检查Applet的数字签名,如果签名有效,Applet就会被加载并执行。 总结一下,Ant在打包Applet时的主要步骤包括: 1. 配置Ant构建文件(如`build-applet.xml`),指定源代码位置、输出...

    Java2下Applet数字签名

    我的项目是使用APPLET制作一个实时消息队列监控程序,由于涉及到了本地资源,对APPLET一定要进行数字签名和认证。我使用的环境是WINDOWS2000,应用服务器是WEBLOGIC6.0,开发环境是JBUILDER4.0。之前我提醒大家一定...

    applet签名 方法

    然而,对于需要更多权限的Applet,如读写文件、访问网络等,必须进行数字签名,以证明其来源可信任。 ### JAR文件签名工具:keytool与jarsigner 在Java开发环境中,有两个主要的工具用于处理数字签名:`keytool`和...

    applet签名

    总之,Applet签名对于提供安全的Java Web应用程序至关重要,它通过数字签名确保代码的完整性和可信任性。开发者需要理解并正确执行签名流程,以确保其Applet能够在用户端顺利运行并获取必要的权限。同时,用户也应该...

    Java Applet小程序的数字签名和客户端认证.zip

    然而,由于安全原因,Applet需要经过严格的验证和安全控制,其中最重要的就是数字签名和客户端认证。 **数字签名**是确保代码完整性和来源可信的关键机制。在Java Applet中,数字签名是一种使用公钥基础设施(PKI)...

    数字签名的Java实现

    通过上述步骤,我们可以实现对Java Applet程序的数字签名,并确保其在客户端的安全执行。这种做法不仅提高了程序的安全性,还使得用户可以信任并安全地运行这些程序。未来随着技术的发展,数字签名技术将在更多领域...

    数字签名数字签名数字签名

    数字签名是一种重要的信息安全技术,主要用于验证数据的完整性和发送者的身份。在计算机科学,特别是密码学领域,数字签名并非实际的笔迹签名,而是通过复杂的数学算法生成的一段固定长度的二进制数据。这个数据附加...

    iReport+jasperReport之客户端打印 ----数字签名

    当涉及到客户端打印时,尤其是通过 Applet 形式实现打印功能时,为了确保应用的安全性,数字签名变得尤为重要。 #### 二、Java沙箱与安全机制 Java沙箱(Java sandbox)是一种安全模型,它限制了Java Applet 或...

    Applet与servlet、数据库交互

    材料列表: 1.applet 数字签名 安全问题 2.Applet访问mysql数据库 3.Applet和Servlet利用http对象流通信 4.J2EE企业应用:Applet和Servlet的通信...等等

    Java Applet小程序的数字签名和客户端认证.pdf

    本文重点介绍了如何利用Java开发工具包(JDK)提供的签名工具、密钥管理工具和策略编辑器等工具,对Java Applet小程序实施数字签名和认证的方法,这种方法能够在保证安全的同时赋予“可信的”Java小程序更多的特权。...

Global site tag (gtag.js) - Google Analytics