00000003.htm

来自「水木清华BBS」· HTM 代码 · 共 63 行

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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?