看看底下的(能访问本机系统文件已经实现交流内容的保存):// JMFPolicySection
// Note: Use jdk1.2.2 or later
// Due to jdk bug 4189625, when using an applet, you will get
// "SecurityException: Access denied to ThreadGroup not owned by applet"
// This bug has been fixed in jdk1.2.2grant {
//////////////////////////////////////////////////////
// Needed to play file: protocol permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "user.home", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.class.path", "read";
permission java.util.PropertyPermission "user.name", "read"; // for RTP permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
permission java.lang.RuntimePermission "accessClassInPackage.sun.audio";
permission java.lang.RuntimePermission "modifyThread";
permission java.lang.RuntimePermission "modifyThreadGroup";
permission java.lang.RuntimePermission "loadLibrary.*"; permission java.io.FilePermission "<<ALL FILES>>", "read"; // Note: If write permission for jmf.log is not there, you can still play
// file:, but the jmf.log won't be written.
permission java.io.FilePermission "${user.dir}${/}jmf.log", "write";
permission java.io.FilePermission "${user.home}${/}.JMStudioCfg", "write";
////////////////////////////////////////////////////// //////////////////////////////////////////////////////
// For http, ftp protocol
// You need 'accept' permission for rtp
permission java.net.SocketPermission "*", "connect,accept";
// JMFPolicyCacheDir
permission java.io.FilePermission "C:\\WINNT\\TEMP\\*", "write";
permission java.io.FilePermission "C:\\WINNT\\TEMP\\*", "delete";
/////////////////////////////////////////////////////
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission javax.sound.sampled.AudioPermission "record";
permission java.net.SocketPermission "-", "listen";
permission java.net.SocketPermission "-", "accept";
permission java.net.SocketPermission "-", "connect";
permission java.net.SocketPermission "-", "resolve";
permission java.security.AllPermission;
};
grant SignedBy "saili" {
permission java.net.SocketPermission "-", "listen";
permission java.net.SocketPermission "-", "accept";
permission java.net.SocketPermission "-", "connect";
permission java.net.SocketPermission "-", "resolve";
permission java.security.AllPermission;
};
// Note: Use jdk1.2.2 or later
// Due to jdk bug 4189625, when using an applet, you will get
// "SecurityException: Access denied to ThreadGroup not owned by applet"
// This bug has been fixed in jdk1.2.2grant {
//////////////////////////////////////////////////////
// Needed to play file: protocol permission java.util.PropertyPermission "user.dir", "read";
permission java.util.PropertyPermission "user.home", "read";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "java.class.path", "read";
permission java.util.PropertyPermission "user.name", "read"; // for RTP permission java.lang.RuntimePermission "accessClassInPackage.sun.misc";
permission java.lang.RuntimePermission "accessClassInPackage.sun.audio";
permission java.lang.RuntimePermission "modifyThread";
permission java.lang.RuntimePermission "modifyThreadGroup";
permission java.lang.RuntimePermission "loadLibrary.*"; permission java.io.FilePermission "<<ALL FILES>>", "read"; // Note: If write permission for jmf.log is not there, you can still play
// file:, but the jmf.log won't be written.
permission java.io.FilePermission "${user.dir}${/}jmf.log", "write";
permission java.io.FilePermission "${user.home}${/}.JMStudioCfg", "write";
////////////////////////////////////////////////////// //////////////////////////////////////////////////////
// For http, ftp protocol
// You need 'accept' permission for rtp
permission java.net.SocketPermission "*", "connect,accept";
// JMFPolicyCacheDir
permission java.io.FilePermission "C:\\WINNT\\TEMP\\*", "write";
permission java.io.FilePermission "C:\\WINNT\\TEMP\\*", "delete";
/////////////////////////////////////////////////////
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";
permission javax.sound.sampled.AudioPermission "record";
permission java.net.SocketPermission "-", "listen";
permission java.net.SocketPermission "-", "accept";
permission java.net.SocketPermission "-", "connect";
permission java.net.SocketPermission "-", "resolve";
permission java.security.AllPermission;
};
grant SignedBy "saili" {
permission java.net.SocketPermission "-", "listen";
permission java.net.SocketPermission "-", "accept";
permission java.net.SocketPermission "-", "connect";
permission java.net.SocketPermission "-", "resolve";
permission java.security.AllPermission;
};
http://java.sun.com/docs/books/tutorial/security1.2/toolsign/index.html
http://www.cn-java.com/target/news.php?news_id=515
http://www.asperfect.com/netschool/PG/2002-1-28/143854.html
http://www.csdn.net/expert/topic/489/489936.xml?temp=.4041712
来做的,不过这篇文章说在客户端也要进行一系列的配置,而且好像很麻烦,不过好像不配置也是可以的,只是在applet下载的时候会询问一下用户是否信任这个签名。关于那篇文章最后提到的相关的html文件的写法其实jdk自带了一个工具htmlconverter可以将普通的带applet的html文件转化为带数字签名的applet文件