Applet数字签名,授予访问本地资源

转载 2013年12月02日 17:15:53

原文地址:http://tech.163.com/05/0712/10/1OF38ICE00091589.html

本文章介绍Applet数字签名,授予访问本地资源的方法。

cmd 先进入到要打包的目录中,例如 E:\JSynergyESB\ee\WebRoot\WEB-INF\classes

定义类文件:

package com;

import java.applet.*;
import java.awt.*;
import java.io.IOException;
public class HelloApplet extends Applet {
     public void paint(Graphics g) {
            g.drawRect(0, 0, 499, 149);
            g.drawString("Hello World", 5, 70);
     }
     /**
      * 通过applet调用本地的计算器
      */
     public void openApp() {
            String url = "C:\\WINDOWS\\system32\\calc.exe";
            try {
                   Runtime.getRuntime().exec(url);
            } catch (IOException e) {
                   e.printStackTrace();
            }
     }
     public void openRCP() {
         String url = "E:\\rhinoRCP\\win32.win32.x86\\eclipse\\eclipse.exe";
         try {
                Runtime.getRuntime().exec(url);
         } catch (IOException e) {
                e.printStackTrace();
         }
  }
}


步骤一:将Applet Class打成Jar包 ,
  如:在命令行中执行以下的语句:

  jar -cvf MyApplet.jar *.*(打包当前目录下的所有文件,若该工程下有类 com.HelloApplet,就打包 jar -cvf MyApplet.jar com)

步骤二:(在网页中嵌入Applet)(如何在Html嵌入Apple方法见附录)
  下面是嵌入Applet部分的写法:

<APPLET CODE="com.HelloApplet.class" id="helloApplet" codebase="." ARCHIVE = "MyApplet.jar" WIDTH="500" HEIGHT="150">
      </APPLET>
      <p><a href="#" onclick="openApp()">计算器</a></p>
      <p><a href="#" onclick="openRCP()">定义器</a></p>
      <script type="text/javascript">
      function openApp()
      {
        var hellovar = document.getElementById("helloApplet");
        hellovar.openApp();
      }
      function openRCP()
      {
        var rcp = document.getElementById("helloApplet");
        rcp.openRCP();
      }
      </script>

步骤三:(生成证书及签名)

  1、keytool -genkey -keystore pepper.store -alias pepper
  这个命令用来产生一个密匙库,执行完毕后应该在E:\JSynergyESB\ee\WebRoot\WEB-INF\classes中产生一个pepper.store的文件,这里的pepper是我自己的名字,你可以对它进行修改。另外在执行命令的时候还有提示你输入密匙库的密码,这里你一定要记住,否则后面要用的时候无法输入。

  2、keytool -export -keystore pepper.store -alias pepper -file pepper.cert
  这个命令用来产生签名时所要用的证书,同样这里的pepper也可以换成你自己需要的名字。这个命令执行完后在E:\JSynergyESB\ee\WebRoot\WEB-INF\classes中产生一个pepper.cert的文件。

  3、 jarsigner -keystore pepper.store MyApplet.jar pepper
  这个命令用上面产生的证书将我们的jar文件进行了签名。

4 因为applet的运行是沙箱机制,在调用本地程序时需要做安全性设置。在本地运行该applet的jre\lib\security\java.policy文件里最后加permission java.security.AllPermission;这里需要注意的是如果客户端装有多个jre的话,需要找一下哪个jre是真正运行applet的。

5 在运行的时候,第一次会提示是否信任该applet,点击使准信任,然后运行,下次就不会在提示。

注意:在用浏览器调试applet的过程中,可以打开java控制台,位置在Ie的工具菜单的java控制台。


参考:http://hi.baidu.com/dobodo/item/2552fc01d26296d11ff046b9?qq-pf-to=pcqq.temporaryc2c
举报

相关文章推荐

利用数字签名超越Java Applet的安全限制

结合这几种技术就可以达到本文的目的了,下面就是本文的目标代码,它是一个可以读取本地文件系统的Applet:  代码1/-------------------------------------pack...

利用数字签名超越Java Applet的安全限制

结合这几种技术就可以达到本文的目的了,下面就是本文的目标代码,它是一个可以读取本地文件系统的Applet:   代码1 /-------------------------------------...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

浏览器applet 通过"数字签名" 获得 JNA调用 DLL权限

先将依赖的DLL放在JRE的bin目录下(注意:浏览器在环境中既有JDK也有JRE调用Applet时,默认使用的是系统中的JRE,只有放在JRE的bin目录下的DLL才会被找到) 使用JNA...
  • imcxin
  • imcxin
  • 2011-11-08 17:44
  • 4316

Java2平台Applet数字签名详细实现步骤

首先在客户端使用JRE1.3.0_01(JAVA运行环境1.3.0.1版本)以取代IE的JVM(JAVA虚拟机),可以到WWW.JAVA.SUN.COM网站上去下载,下载好了先在客户端安装好,安装过程...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)