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的密码、你的姓名、组织单位等等信息。这里要注意的是输入密码请记住,后面要用到的。在最后,我们输入y确认信息。然后再直接回车设置mbq的主密码和store密码一致即可!


三、使用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引用到的类全部打包进去,否则调用方法会找不到(对象不支持此属性或方法),或一些其他错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值