java.lang 
Class SecurityManager去看文档吧,具体我也没做过

解决方案 »

  1.   

    用JDK1.4开发数字签名的Swing Applet
    1) 写代码
    我们准备开发一个既是APPLET又是APPLICATION的程序,使得程序既能在浏览器中运行,直接双击JAR文件也可以运行。
    程序界面采用了SWING控件,使用JInternalFrame来展示通过文件选择框指定的GIF或JPG图片。
    程序文件:Jtest.java, ExampleFileFilter.java。
    程序编译完成后,假定所有的class文件位于d:\myapplet下面。2)生成jar文件
    创建一个manifest.mf文件位于d:\myapplet下面,文件内容:
    Manifest-Version: 1.0
    Main-Class: Jtest
    Created-By: 1.4.0-beta2 (Sun Microsystems Inc.)
    执行命令:jar cvfm manifest.mf Jtest.jar *.class
    则生成Jtest.jar文件,此时双击该文件即能以application的形式运行。3)准备HTML文件
    创建一个HTML文件Jtest.htm, 位于d:\myapplet下面,文件内容:
    <HTML>
    <HEAD>
    </HEAD>
    <BODY >
    <CENTER>
    <APPLET code= "Jtest.class"  codebase= "."  archive ="Jtest.jar"  width= 0  height="0">
    </APPLET>
    </CENTER>
    </BODY>
    </HTML>
    然后需要使用JDK1.4附带的HtmlConverter.exe转换Jtest.htm,使得浏览器能自动下载SUN的JRE1.4。
    执行命令:htmlconverter Jtest.htm,生成的Jtest.htm自动包含了下载插件的代码。4) 数字签名
    首先是生成公/私密钥对:
    keytool –genkey –alias yourname –keypass yourpassword
    其中的yourname为密钥的别名,yourpassword为密码,按照提示输入签名信息。然后执行:如果需要导出证书,则执行命令:
    keytool –export –alias yourname –file yourname.cer
    生成的yourname.cer即为证书文件。不过签名APPLET可以不需要这一步。然后就是对JAR文件进行签名:
    jarsigner Jtest.jar yourname
    需要输入你在上面步骤中提供的密码。至此签名已经成功。无论是直接打开Jtest.htm文件还是通过服务器下载Jtest.htm和Jtest.jar执行applet,首先会弹出一个提示框,如果用户点接受,则APPLET可以访问本地文件系统以及做其它事情,如果点拒绝则不能访问本地文件系统。当然,如果点总是接受,则以后运行同一个APPLET的时候不会出现提示,自动拥有权限。
      

  2.   

    非常感谢javahui提供的详实解答,我想在问一句: jdk1.3 可以吗
      

  3.   

    JDK1.3也可以,不过我发现有一个BUG,就是签名的时候如果输入中文那么在弹出认证对话框的时候显示乱码。所以建议用1.4。