WEB开发网
开发学院软件开发Java 基于 Java 2 运行时安全模型的线程协作 阅读

基于 Java 2 运行时安全模型的线程协作

 2009-09-20 00:00:00 来源:WEB开发网   
核心提示: 我们使用如清单 4 所示的命令来签名 client.jar 与 server.jar,清单 4. 签名 JAR 文件>jarsigner.exe-keystoreC:\paper\.keystore-storepass111111c:\paper\client.jarclient>j

我们使用如清单 4 所示的命令来签名 client.jar 与 server.jar。

清单 4. 签名 JAR 文件

>jarsigner.exe -keystore C:\paper\.keystore  
  -storepass 111111 c:\paper\client.jar client 
>jarsigner.exe -keystore C:\paper\.keystore  
  -storepass 111111 c:\paper\server.jar server 

在清单 4 中,我们使用了别名为 client 的数字证书来签名 client.jar 文件,使用别名为 server 的数字证书来签名 server.jar 文件。

使用图形化的工具 policytool.exe 创建清单 5 所示的 Policy 文件。

清单 5. Policy 文件

/* AUTOMATICALLY GENERATED ON Thu May 14 15:40:25 CST 2009*/ 
/* DO NOT EDIT */ 
 
keystore "file:////C:/paper/.keystore"; 
 
grant signedBy "client" { 
  permission java.io.FilePermission "c:\\paper\\client\\*","read,write"; 
}; 
 
grant signedBy "server" { 
  permission java.security.AllPermission; 
}; 

Policy 文件指出,所有被”client”签名的代码具有读写” c:\\paper\\client\\”目录下所有文件的权限,而所有被”server”签名的代码具有所有的权限。Java 将根据该策略文件按照签名者创建相应的保护域。

一切就绪,我们运行代码,如清单 6 所示。

清单 6. 运行程序

>java -Djava.security.manager 
  -Djava.security.policy=my.policy -classpath client.jar;server.jar  
  sample.permtest.client.Client 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:基于 Java 运行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接