免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1469 | 回复: 0
打印 上一主题 下一主题

java.policy配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-20 15:41 |只看该作者 |倒序浏览

                我一向相信自己对于java applet是很熟悉的,当然这是大言不惭!这不今天就遇到了一个问题。。。。先来看张截图:

(不好意思,gentoo正在编译xorg-x11,很慢,就这样凑合着看吧),那么这个问题怎么解决了呢?google,sun。。。。。。。当我看到这个问题的时候,我并不能直接定位于java.policy的问题,而我是直接搜索关键字“java vm受保护”。。。。。。结果可想而知。可是给了我一些提示,那就是 java applet的本地安全问题。没办法了!对于一个希望解决问题的人,是不希望向同事问这低级的问题的。。。。。。于是,自己查看java doc.
对于read the fuck man有了更深刻的体验,policytoo是最好不过的新发现了

那么再去sun的教程里找下相关的配置语句就可以了:可查看$java_home/jre/lib/secuity/java.policy文件,其属性值如下:
一个Policy文件实质上是一个记录列表,它可能含有一个“keystore”记录,以及含有零个或多个“grant”记录。其格式如下:
keystore "some_keystore_url", "keystore_type";
grant [SignedBy "signer_names"] [, CodeBase "URL"] {
Permission permission_class_name
[ "target_name" ] [, "action"] [, SignedBy "signer_names"];
Permission ...};
  1.1"keystore"记录
 
 一个keystore是一个私有密钥(private
keys)数据库和相应的数字签名,例如X.509证书。Policy文件中可能只有一条keystore记录(也可能不含有该记录),它可以出现在文件
中grant记录以外的任何地方。Policy配置文件中指定的keystores用于寻找grant记录中指定的、签名者的公共密钥(public
keys),如果任何grant记录指定签名者(signer_names),那么,keystore记录必须出现在policy配置文件中。
 
 "some_keystore_url"是指keystore的URL位置,"keystore_type"是指keystore的类型。第二个选项是
可选项,如果没有指定,该类型则假定由安全属性文件(java.security)中的"keystore.type"属性来确定。keystore类型
定义了keystore信息的存储和数据格式,用于保护keystore中的私有密钥和keystore完整性的算法。Sun
Microsystems支持的缺省类型为“JKS”。
  1.2"grant"记录
  在Policy文件中的每一个grant记录含有一个CodeSource(一个指定的代码)及其permission(许可)。
 
 Policy文件中的每一条grant记录遵循下面的格式,以保留字“grant”开头,表示一条新的记录的开始,“Permission”是另一个保
留字,在记录中用来标记一个新的许可的开始。每一个grant记录授予一个指定的代码(CodeBase)一套许可(Permissions)。
  permission_class_name必须是一个合格并存在的类名,例如java.io.FilePermission,不能使用缩写(例如,FilePermission)。
  target_name用来指定目标类的位置,action用于指定目标类拥有的权限。
  target_name可以直接指定类名(可以是绝对或相对路径),目录名,也可以是下面的通配符:
directory/* 目录下的所有文件
*当前目录的所有文件
directory/-目录下的所有文件,包括子目录
- 当前目录下的所有文件,包括子目录
《ALL FILES》文件系统中的所有文件
对于java.io.FilePermission,action可以是:
read, write, delete和execute。
对于java.net.SocketPermission,action可以是:
listen,accept,connect,read,write。
  1.3 Policy文件中的属性扩展(Property Expansion)
  属性扩展与shell中使用的变量扩展类似,它的格式为:
"${some.property}"
实际使用的例子为:
permission java.io.FilePermission "${user.home}", "read"; "${user.home}"的值为"d:\Project",
因此,下面的语句和上面的语句是一样的:
permission java.io.FilePermission " d:\Project ", "read";
此段引用地址(http://www.chinabs.net/webjava/default.asp?infoid=206)
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6303/showart_203643.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP