applet授权数字签名

一、压缩你的class类文件为jar
1.如果你的须要压缩的类文件存在的包为:cn.mbq.test1和cn.mbq.test2
2.进入你的classes文件夹,在DOS窗体中运行命令:jar cf mytest.jar cn.mbq.test1 cn.mbq.test2
3.运行命令后你会在当前文件夹中找到mytest.jar文件,这个就是刚才生
成的档案文件。你能够改动它的后缀为rar,然后使用winrar压缩程序打开它查看看是否正确。
jar -cvf MyApplet.jar class


二、使用keytool工具生成密匙库
1.keytool工具位于${java_home}/bin文件夹下;
2.在DOS窗体中运行命令:keytool -genkey -keystore mytest.store -alias mbq
  注意:mytest.store 是你的密匙库的名称,能够任意改动,后缀请不要改动!
        mbq 为别名,这个也能够改成自己的名称
3.运行上述命令后,DOS窗体中会提示你输入keystore的password、你的姓名、组织单位等等信息。这里要注意的是输入password请记住,后面要用到的。在最后,我们输入y确认信息。然后再直接回车设置mbq的主password和storepassword一致就可以!


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


四、使用jarsigner工具签名jar压缩文档
1.jarsigner工具位于${java_home}/bin文件夹下;
2.在当前DOS窗体中运行命令:jarsigner -keystore mytest.store mytest.jar mbq
  注意:mytest.store 就是我们在第二步中生成的密匙库名称
        mytest.jar 就是我们这第一步压缩的jar文档
        mbq 是提供者的名称,我们这里设置为我们的别名 
    
  再运行的Applet就能够訪问本地了

 

 

嵌入Applet部分的写法:

<APPLET
CODEBASE = "."
CODE = "jcomponent.FileReaderApplet.class"
ARCHIVE ="MyClass.jar"
NAME = "TestApplet"
WIDTH = 400
HEIGHT = 300
HSPACE = 0
VSPACE = 0
ALIGN = middle

</APPLET>

 OBJECT对象中的CODEBASE指的路径是相对当前页面的路径,是能够有效的.最后部署的时候仅仅须要签名后的jar包就能够了,其它的文件都不须要

 

关于Html嵌入Applet的问题
 标签<Applet>的属性介绍
  属性        含义
  Width     Applet在Html页面上的宽度
  Height     Applet在Html页面上的高度
  Name     Applet在Html页面上的名称,用于区名一个Html页面上的多个Applet
  Code     Applet类名,必须带后缀”class”当没有属性archive时,直接写类名当有属性archive时,必须带包名
  Codebase    Applet的类相对路径,相对于Html页面位置
  Archive     Applet所在Jar包的文件名称

 标签< PARAM>的属性介绍
  属性        含义
  Name     Applet传入的參数名
  Value     Applet传入的參数值

 当Applet 为一个Class类文件嵌入的写法
  属性Code   ==========Applet类名,必须带后缀名
  属性CodeBase   ---------------Class类文件相对于Html页面的相对路径

 Applet为一个JAR包,嵌入Html的写法
  属性Code     ==========Applet类名,包含包名
  属性CodeBase    ----------------Applet JAR包相对于Html页面的相对路径
  属性Archive -----------------------Applet Jar包文件名称


 

对于须要授权的applet(如读取本地文件),进行数字签名后,在paint方法中能够读取本地文件,但放在自己定义的方法中,通过js调用自己定义的方法还是提示没有权限,不解

能够通过再建立一个线程类,在run方法中调用applet中读取本地文件的自己定义方法,线程类能够在applet中的初始化方法init中建立,applet类当做參数传给线程类


JavaScript訪问Applet

 

<applet name="appletName" ....../>   
//JavaScript訪问Applet属性   
window.document.appletName.appletField  (属性必须是public的,"window.document."也能够不写)   
/JavaScript訪问Applet方法   
window.document.appletName.appletMethod  (方法必须是public的,"window.document."也能够不写) 

var result = appletName.appletMethod ("param"); //调用applet带參数的方法和有返回值的方法

打包jar文件必须把applet引用到的类所有打包进去,否则调用方法会找不到(对象不支持此属性或方法),或一些其它错误

posted @ 2015-03-27 18:25  mfrbuaa  阅读(250)  评论(0编辑  收藏  举报