一、压缩你的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引用到的类所有打包进去,否则调用方法会找不到(对象不支持此属性或方法),或一些其它错误

applet授权数字签名的更多相关文章

  1. 解决Ubuntu下Firefox+OpenJDK没有Java插件的问题

    如果是安装的OpenJDK,很遗憾它是没有libnpjp2.so的. 此时按照网上各种奇怪的方法都挣扎无效,但可以用icedtea插件来解决这个问题. icedtea的版本与本机安装的OpenJDK版 ...

  2. java卡与native卡的区别

      JavaCard Native 功能特性 开发语言 l  纯面向对象的Java语言的子集. Java语言先进灵活,开发调试速度快,实现灵活. l  Java没有指针,并且有内部安全机制可以有效的避 ...

  3. Applet 数字签名技术全然攻略

      在这里先对大家说声对不起,毕竟2年前就想写这篇文章,但由于自己太懒惰一直没有写,也是为了给自己留点东西好了,前些日子我老大让我又搞这个东西发现我曾经的资料没留,又凭着自己印象从新来过,但发现网上写 ...

  4. Applet 数字签名技术完全攻略

      这里说声对不起大家.毕竟2几年前,我想写这篇文章,但因为他才懒得一直没有写.同时也给自己的东西好.前些日子我老大让我又搞这个东西发现我曾经的资料没留,又凭着自己印象从新来过.但发现网上写的东西真的 ...

  5. Applet 应用程序进行数字签名,对系统文件进行读写操作

    转:http://www.iteye.com/topic/154531 最近在研究applet,打算使用applet来开发一个上传文件上传控件,之前因为一直觉得applet的沙箱控制导致applet不 ...

  6. Java 授权内幕--转载

    在信息安全性领域,授权是世界的的中心,因为它是控制个体(即人.进程和计算机)对系统资源的访问权限的过程.直到最近,在 Java 安全体系结构中相关的问题都是“这段运行中的代码的访问权限是什么?” 随着 ...

  7. Java 数字签名原理及产生

    数字签名与数字证书 关于数字签名的介绍可以参考以上这篇. 这里稍微说一下不对称加密的方式: 用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密. 这样比对称加密更安全 Java 中数字签名 ...

  8. 快速入门系列--WCF--07传输安全、授权与审核

    这部分主要涉及企业级应用的安全问题,一般来说安全框架主要提供3个典型的安全行为:认证.授权和审核.除了典型的安全问题,对于一个以消息作为通信手段的分布式应用,还需要考虑消息保护(Message Pro ...

  9. Windows Azure Active Directory (1) 前言 - 基于声明的验证和授权

    <Windows Azure Platform 系列文章目录> 在我们介绍整套系统架构之前,我们需要首先定义一些基本的概念. 用户及其属性: 用户值得是要使用某项服务的个体.用户一般都有一 ...

随机推荐

  1. 在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据)

    原文:在Web.Config文件中使用configSource,避免动态修改web.config导致asp.net重启(另添加一个Config文件用于管理用户数据) 我们都知道,在asp.net中修改 ...

  2. mysql声明摘要

    前一段时间,和学生参加该项目的最终完成,主要的项目是做一个报告,它涉及到很多sql声明,因此,采取下一个汇总. 一.基金会 1.数据库相关的命令 a>.创建数据库 CREATE DATABASE ...

  3. Spring.Net控制翻转、依赖注入、面向切面编程

    Spring.Net快速入门:控制翻转.依赖注入.面向切面编程 Spring.Net主要功能: 1.IoC:控制翻转(Inversion of Control)  理解成抽象工厂翻转控制:就是创建对象 ...

  4. 【Java基础】选择排序、冒泡法排序、二分法查找

    1.选择排序: //改进后的选择排序,减少交换的次数 public static void sortSelect(int arr[]) { //用于存放最小数的下标 int s; for (int i ...

  5. Unity 二战中加飞机

    一个简短的引论: 谢意: 本申请中使用<Unity3D\2D移动游戏开发>提供资源.著作权属于作者.感谢作者.基于原始时本申请的二次开发. 要素: 1.增加2s cd的机身旋转,旋转时保持 ...

  6. html标和下标应用

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  7. Codeforces 338D GCD Table 中国剩余定理

    主题链接:点击打开链接 特定n*m矩阵,[i,j]分值为gcd(i,j) 给定一个k长的序列,问能否匹配上 矩阵的某一行的连续k个元素 思路: 我们要求出一个解(i,j) 使得 i<=n &am ...

  8. 王立平--result += &quot;{&quot;;

    result += "{"; 等于:result=result+"{" 字符串连接 x+=1====x=x+1 版权声明:本文博客原创文章,博客,未经同意,不得 ...

  9. 【cocos2d-js公文】十八、Cocos2d-JS v3.0物业风格API

    1. 新的API风格 我们直接来看看你能够怎样使用Cocos2d-JS v3.0: 曾经的API 新的API node.setPosition(x, y); node.x = x; node.y = ...

  10. Android MenuItem 设置文本颜色-TextColor设置

    前面一直在寻找 MenuItem文字颜色设置. 我发现API唯一的背景颜色设置. .. 因此,找到下面的方法.在OverFlow看到. 在onCreateOptionsMenu一下. 使MenuIte ...