快速业务通道

利用数字签名超越Java Applet的安全限制 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
够,客户无法判断现在执行的代码是否是由你发布的,也不能保证这个代码在传输的过程中有没有被人给恶意的破坏。所以还需要数字签名技术来保证这两方面。JDK中给我们提供了几个工具来完成这些工作。

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

代码1

/------------------------------------- package jcomponent; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.io.*; public class FileReaderApplet extends Applet { boolean isStandalone = false; TextField fileNameField; TextArea fileArea; file://Get a parameter value public String getParameter(String key, String def) {  return isStandalone ? System.getProperty(key, def) :  (getParameter(key) != null ? getParameter(key) : def); } file://Construct the applet public FileReaderApplet() { } file://Initialize the applet public void init() { try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } file://Component initialization private void jbInit() throws Exception { this.setSize(new Dimension(400,300)); this.setLayout(new BorderLayout()); Panel panel=new Panel(); Label label=new Label("File Name"); panel.add(label); fileNameField=new TextField(25); panel.add(fileNameField); Button b=new Button("Open File"); b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ loadFile(fileNameField.getText()); } }); panel.add(b); this.add(panel,BorderLayout.NORTH); fileArea=new TextArea(); this.add(fileArea,BorderLayout.CENTER); } public void loadFile(String fileName){ try{ BufferedReader reader=new BufferedReader(new FileReader(fileName)); String context=new String(); while((context=reader.readLine())!=null){ fileArea.append(context+"/n"); } reader.close(); }catch(IOException ie){ fileArea.append(ie.getMessage()); }catch(SecurityException se){ fileArea.append("because of security constraint ,it can not do that!"); } } file://Get Applet information public String getAppletInfo() { return "This is an applet can read and write the local file system"; } }

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

时间:2010-12-16

如果你将这个代码嵌入网页中并执行它,当你试图打开一个本地文件时就会发生SecurityException。大家跟着我进行下面的步骤就可以最终拥有读写文件的权限。在此之前你需要有以下的工具:JDK1.1以上、JRE、HTMLConvert。这些工具在SUN的Java站点上都有,而且也是免费的。将它们分别安装好,我们将所有涉及的文件都放在c:/admin中。

步骤一:(打包class文件)

在命令行中执行以下的语句:jar -cvf MyApplet.jar class

注意这里的所有.class文件均是放在一个class的目录中的。本步骤执行完毕后,将在c:/admin中产生一个名为MyApplet.jar的文件。

步骤二:(在网页中嵌入Applet)

这个网页的名字叫做FileReaderApplet.html,下面是嵌入Applet部分的写法:

<APPLET CODEBASE = "." CODE = "jcomponent.FileReaderApplet.class" ARCHIVE ="MyClass.jar" NAME = "TestApplet" WIDTH = 400 HEIGHT = 300 HSPACE = 0 VSPACE = 0 ALIGN = middle > </APPLET>

完成这个步骤后,这个A

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号