00000003.htm
来自「水木清华BBS」· HTM 代码 · 共 63 行
HTM
63 行
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: newzenith (丁丁...我要周游世界), 信区: Java <BR>标 题: Re: 询问Apple访问本地文件? <BR>发信站: BBS 水木清华站 (Sun Mar 21 13:37:25 1999) <BR> <BR>【 在 Learnerboy ( dingding ) 的大作中提到: 】 <BR>∶<I> 本人目前用Java开发一个Internet应用,其中涉及到文件下载. </I><BR>∶<I> 众所周知,Applet不能访问客户机本地文件.那么,如何用Java </I><BR>∶<I> 实现用户在浏览器中进行文件下载呢?听说,签名Applet具有 </I><BR>∶<I> 本地访问能力,具体原理是什么?另外,还有其它方法吗? </I><BR>∶<I> 望各位网友发表高见. </I><BR> <BR>从JDK1.1开始,就提供了一种对JAR进行签名的机制,可以使经过签名认证的APPLET具有 <BR>与APPLICATION同等的权力(如SOCKET连接、本地文件访问等等)。使用JDK1.1的签名认 <BR>证机制是这样的: <BR>JDK1.1中提供了一个Javakey程序,这个程序能完成如下功能:1.生成公私密钥对,2.生 <BR>成公钥证书,3.生成对JAR文件的签名。利用这些功能我们就能完成一个签名APPLET的全 <BR>套制作。首先,要生成签名者的一对密钥(如果对公钥体制不了解的可以去看看密码学方 <BR>面的入门知识),然后利用公钥产生一个公钥证书文件,并通过网络(或者其它方式传递 <BR>给需要运行APPLET的主机),由运行APPLET的主机决定是否信任这个签名者(注意,一旦 <BR>信任了这个签名者,以后由这个签名者的私钥签名的APPLET将在这台主机上拥有跟 <BR>APPLICATION一样的权限),接着将需要具备本地访问权限的APPLET的CLASS文件用JAR <BR>包起来(不要告诉我你不会用JAR哦,很容易用的,基本跟TAR一样),并且用签名者的 <BR>私钥对这个新生成的JAR文件进行签名。最后,不要忘记,在HTML文件的APPLET TAG中加上 <BR>ARCHIVE=***.JAR,否则浏览器将找不到你的APPLET。整个过程就是这么简单,至于具体 <BR>的例子,精华区里有一篇文章说得很清楚。 <BR> <BR>另外,如果你使用的是JDK1.2的话,使用方式将有点不同。JDK1.2用keytool、jarsigner <BR>取代了JAVAKEY,但是使用起来更加简单。而且,JDK1.2还引入了一种POLICY机制,使得 <BR>对applet甚至是APPLICATION的安全限制更加灵活。它可以指定APPLET拥有哪种权限,而 <BR>不是让APPLET一下子拥有所有的权限。比如,可以单独授权一个APPLET具有与某个指定的 <BR>IP地址的主机建立SOCKET连接的权限,或者访问本地某个目录下的指定文件的权限。所有 <BR>的POLICY的设置可以通过一个工具POLICYTOOL来完成,非常方便。使用这个工具甚至可以 <BR>让没有经过签名认证的APPLET也获得指定的权限(只要指定APPLET的URL地址就行了)。 <BR>最新版的Java Tutorial中有几个例子,很容易的说。 <BR>-- <BR>_/_/_/ _/_/_/ <BR>_/ _/ _/ _/ <BR>_/ _/ _/ _/ <BR>_/ _/ _/ _/ <BR>_/ _/ _/ _/ <BR>_/_/_/ _/_/_/ 外面的世界很精彩... <BR> <BR>※ 修改:·newzenith 於 Mar 21 13:39:46 修改本文·[FROM: argo.zsu.edu.cn] <BR>※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: argo.zsu.edu.cn] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?