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引用到的类所有打包进去,否则调用方法会找不到(对象不支持此属性或方法),或一些其它错误
applet授权数字签名的更多相关文章
- 解决Ubuntu下Firefox+OpenJDK没有Java插件的问题
如果是安装的OpenJDK,很遗憾它是没有libnpjp2.so的. 此时按照网上各种奇怪的方法都挣扎无效,但可以用icedtea插件来解决这个问题. icedtea的版本与本机安装的OpenJDK版 ...
- java卡与native卡的区别
JavaCard Native 功能特性 开发语言 l 纯面向对象的Java语言的子集. Java语言先进灵活,开发调试速度快,实现灵活. l Java没有指针,并且有内部安全机制可以有效的避 ...
- Applet 数字签名技术全然攻略
在这里先对大家说声对不起,毕竟2年前就想写这篇文章,但由于自己太懒惰一直没有写,也是为了给自己留点东西好了,前些日子我老大让我又搞这个东西发现我曾经的资料没留,又凭着自己印象从新来过,但发现网上写 ...
- Applet 数字签名技术完全攻略
这里说声对不起大家.毕竟2几年前,我想写这篇文章,但因为他才懒得一直没有写.同时也给自己的东西好.前些日子我老大让我又搞这个东西发现我曾经的资料没留,又凭着自己印象从新来过.但发现网上写的东西真的 ...
- Applet 应用程序进行数字签名,对系统文件进行读写操作
转:http://www.iteye.com/topic/154531 最近在研究applet,打算使用applet来开发一个上传文件上传控件,之前因为一直觉得applet的沙箱控制导致applet不 ...
- Java 授权内幕--转载
在信息安全性领域,授权是世界的的中心,因为它是控制个体(即人.进程和计算机)对系统资源的访问权限的过程.直到最近,在 Java 安全体系结构中相关的问题都是“这段运行中的代码的访问权限是什么?” 随着 ...
- Java 数字签名原理及产生
数字签名与数字证书 关于数字签名的介绍可以参考以上这篇. 这里稍微说一下不对称加密的方式: 用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密. 这样比对称加密更安全 Java 中数字签名 ...
- 快速入门系列--WCF--07传输安全、授权与审核
这部分主要涉及企业级应用的安全问题,一般来说安全框架主要提供3个典型的安全行为:认证.授权和审核.除了典型的安全问题,对于一个以消息作为通信手段的分布式应用,还需要考虑消息保护(Message Pro ...
- Windows Azure Active Directory (1) 前言 - 基于声明的验证和授权
<Windows Azure Platform 系列文章目录> 在我们介绍整套系统架构之前,我们需要首先定义一些基本的概念. 用户及其属性: 用户值得是要使用某项服务的个体.用户一般都有一 ...
随机推荐
- iPhone发展【一】从HelloWorld开始
转载请注明出处.原文网址:http://blog.csdn.net/m_changgong/article/details/8013553 作者:张燕广 从经典的HelloWorld開始踏入iPhon ...
- MapReduce 规划 六系列 MultipleOutputs采用
在前面的示例,输出文件名是默认: _logs part-r-00001 part-r-00003 part-r-00005 part-r-00007 part-r-00009 part-r-00011 ...
- Binary Tree Inorder Traversal(转)
Given a binary tree, return the inorder traversal of its nodes' values. For example: Given binary tr ...
- Maven+Spring
Maven+Spring 关于Maven Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期.即项目的jar包依赖,开发,测试,发布打包. 做过.NET的人应该会联想到Nuget,是的 ...
- mac已安装xctool而简单的执行xctool打包
先安装brew,brew是一个包管理工具,有了它我们就能够非常方便的安装xctool了,brew安装命令例如以下: curl -LsSf http://github.com/mxcl/homebrew ...
- NSIS常用代码整理
原文 NSIS常用代码整理 这是一些常用的NSIS代码,少轻狂特意整理出来,方便大家随时查看使用.不定期更新哦~~~ 1 ;获取操作系统盘符 2 ReadEnvStr $R0 SYSTEMDRIVE ...
- 开展.net mvc3遇到怪事+解
发展到今天.net mvc3遇到怪事. 使用Firefox浏览器.打开index页,求index该控制器是很多次,代码查询数据库的多个运行.server减速. 而且没有刷新页面,随着时间的推移有十二请 ...
- 跨境移动互联网的魅力演绎,hao123无论成就下一个条目?
使用"热"为了描述的情况在目前的移动互联网不夸张,背景下,越来越多的企业试图染指这一新兴领域.只是,巴菲特有句名言------"仅仅有退潮了,才知道谁在裸泳&qu ...
- git fetch, merge, pull, push需要注意的地方(转)
在git操作中,我们经常会用到fetch, merge, pull和push等命令,以下是一些我们需要注意的地方. 给大家准备了参考资料: 1. Whatʼs a Fast Forward Merge ...
- hdu 1533 Going Home 最小费用流
构建地图非常easy bfs预处理地图.距离的成本 来源所有m建方,流程1费0 m所有H建方,流程1距离成本 H汇点建设成为各方.流程1费0 #include<cstdio> #inclu ...