关于Policy文件(50分)

  • 主题发起人 主题发起人 lvxq
  • 开始时间 开始时间
L

lvxq

Unregistered / Unconfirmed
GUEST, unregistred user!
用Applet写了一个录取声音,并最终发送声音文件到FTP得东东,
可是运行时需要在 .java.policy文件中添加一些内容,有没有
办法不要这些,或者可以在程序中修改/创建这个文件的方法。
 
基本上很难不需要修改策略文件。
这是APPLET的安全性所必须要求的。
你也许可以寻求数字签名的方式,但的确很麻烦。
 
我参照有些文章介绍的,进行处理,可是我在生成.Jar时,就好像有点问题。不是无法
生成,而是生成了的Jar文件,运行后结果不对,为什么??
 
你是如何应用你的JAR?
怎么个不对法?
 
jar cvf MyClass.jar *.class 命令啊,比如这样
我先找一个可以执行的 .jar文件,(可以执行的),然后用jar xf XX.jar 解压
,接下来,我什么也没改,再把这些文件利用上面的命令再生成原来的
.jar 文件,完了,这把连它也无法运行了,
不该这样做吗??
还是方法有问题
 
你是指要将你的class打包成双点鼠标可以运行的JAR是吗?
如果是这样的话。你指需要在 manifest.mf中指明 Main-Class就行了

Main-Class: MyApp
 
哦,老看到这个文件,原来是跟这有关啊。
这是什么意思啊,在打包之前指定,还是在这之后指定也有效啊,我回去试试,
最近公司很忙,又没再java所以问的仔细点了,
然后所谓数字签名,就是利用下面的步骤,是吗??
keytool 。。。
jarsigner 。。。。
但是我在这里的一篇贴子上看到,好像这样做了之后还要修改 .policy文件
到底怎么进行签名呢,帮帮忙
 
是将manifest.mf一同打包
关于数字签名,我从未亲手试过。
网上到处都有相关帖子,再试试?
LUCKY!
 
本地运行
C:/Program Files/JavaSoft/JRE/1.4/bin/policytool.exe
添加权限,或者直接修改C:/Program Files/JavaSoft/JRE/1.4/lib/security/java.policy
如下则添加所有权限

/* AUTOMATICALLY GENERATED ON Mon Jan 28 13:50:13 CST 2002*/
/* C:/Program Files/JavaSoft/JRE/1.4/lib/security */
/*do
NOT EDIT */
grant codeBase "file:${java.home}/lib/ext/*" {
permission java.security.AllPermission;
};
grant {
permission java.lang.RuntimePermission "stopThread";
permission java.net.SocketPermission "localhost:1024-", "listen";
permission java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
};
grant {
permission java.security.AllPermission;
};
 
算了,结束吧
 
后退
顶部