利用数字签名超越Java Applet的安全限制
步骤一:(打包class文件)
在命令行中执行以下的语句:jar -cvf
MyApplet.jar class
注意这里的所有.class文件均是放在一个class的目录中的。本步骤执行完毕后,将在
c:/admin中产生一个名为MyApplet.jar的文件
步骤二:(在网页中嵌入Applet)
这个网页的名字叫做FileReaderApplet.html,下面是嵌入Applet部分的写法:
<APPLET
CODEBASE
= "."
CODE = "jcomponent.FileReaderApplet.class"
ARCHIVE
="MyClass.jar"
NAME = "TestApplet"
WIDTH = 400
HEIGHT = 300
HSPACE
= 0
VSPACE = 0
ALIGN = middle
>
</APPLET>
完成这个步骤后,这个Applet已经可以显示了。但是还不能读写本地的文件系统。
步骤三:(生成证书及签名)
请在命令行环境下执行以下的命令:
1、keytool -genkey -keystore pepper.store
-alias pepper
-validity 3650
这个命令用来产生一个密匙库,执行完毕后
应该在c:/admin中产生一个pepper.store的文件,这里的pepper是我自己的名字,你可以对它进行修改。另外在执行命令的时候还有提
示你输入密匙库的密码,这里你一定要记住,否则后面要用的时候无法输入。
-validity 3650,有效期365天
2、keytool -export -keystore pepper.store -alias pepper -file
pepper.cert
这个命令用来产生签名时所要用的证书,同样这里的pepper也可以换成你自己需要的名字。这个命令执行完后
在c:/admin中产生一个pepper.cert的文件。
4、 jarsigner -keystore
pepper.store MyApplet.jar pepper
这个命令用上面产生的证书将我们的jar文件进行了签名。
步
骤四:(修改文件)
1、 在c:/admin中产生一个名为applet.policy的文件,其内容如下:
keystore "file:c: /admin/pepper.store", "JKS";
grant signedBy
"pepper"
{ permission java.io.FilePermission "<<ALL FILES>>",
"read";
};
这个文件让由pepper签名的Applet拥有
本地所有文件的读权限。
2、
修改${java.home}/jre/lib/security目录下的java.security,找到下面这两行:
policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy
相关文档:
先来了解一下链表模式的原理:
首先写一个JavaBean,内容是要添加的元素和该元素的节点。
public class NodeBean implements Serializable
{
private Object data; //元素本身
private NodeBean next; //下一个节点
&n ......
开发Java应用程序时,开发者要想有效地利用统一建模语言(UML),必须全面理解UML元素以及这些元素如何映射到Java。本文重点讨论UML类图中的元素。
类图是最常用的UML图,它用于描述系统的结构化设计。其中包括类关系以及与每个类关联的属性及行为。类图能出色地表示继承与合成关系。为了将类图作为一种高效的沟通工具使 ......
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。
一、Java编程入门类
对于没有Java编程经验的Java程序员要入门,随便读什么入门书 ......
一、超文本传输协议
1.1 HTTP请求
1.2 HTTP应答
二、Socket类
三、ServerSocket类
四、Web服务器实例
4.1 HttpServer类
4.2 Request类
4.3 Response类
五、编译和运行
===================
正文:
===================
......