zoukankan      html  css  js  c++  java
  • 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引用到的类所有打包进去,否则调用方法会找不到(对象不支持此属性或方法),或一些其它错误

  • 相关阅读:
    免费的编程中文书籍索引
    整理书签博客和文章
    【De8ug玩docker】-Docker常用命令操作
    Linux中的那些英文缩写和她的含义们
    Docker和DevOps是找工作必备技能
    【De8ug玩docker】-命令行只显示-bash-4.1#
    应该知道的Linux技巧
    阿里云服务器linux(centos)常用命令
    jQuery运维开发之第十七天
    js+dom开发第十六天
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4372590.html
Copyright © 2011-2022 走看看