00000004.htm

来自「水木清华BBS」· HTM 代码 · 共 264 行 · 第 1/2 页

HTM
264
字号
&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;might&nbsp;wonder,&nbsp;what&nbsp;does&nbsp;the&nbsp;HTML&nbsp;tag&nbsp;look&nbsp;like,&nbsp;for&nbsp;a&nbsp;signed&nbsp;archive&nbsp;loaded&nbsp;by&nbsp;a&nbsp;plugin?&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;HTML&nbsp;is&nbsp;complicated,&nbsp;but,&nbsp;you&nbsp;don't&nbsp;need&nbsp;to&nbsp;write&nbsp;this&nbsp;HTML&nbsp;by&nbsp;hand.&nbsp;When&nbsp;you&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;downloaded&nbsp;the&nbsp;Java&nbsp;Plug-In,&nbsp;you&nbsp;also&nbsp;could&nbsp;download&nbsp;a&nbsp;tool&nbsp;called&nbsp;the&nbsp;Java&nbsp;Plug-In&nbsp;HTML&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Converter.&nbsp;It's&nbsp;very&nbsp;easy&nbsp;to&nbsp;run.&nbsp;Once&nbsp;you've&nbsp;installed&nbsp;it,&nbsp;go&nbsp;to&nbsp;the&nbsp;directory&nbsp;named&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;HTML_Converter&nbsp;and&nbsp;invoke&nbsp;the&nbsp;simple&nbsp;GUI&nbsp;tool:&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&nbsp;HTMLConverter&nbsp;&amp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Type&nbsp;in&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;HTML&nbsp;file&nbsp;you&nbsp;need&nbsp;to&nbsp;convert&nbsp;so&nbsp;that&nbsp;it&nbsp;can&nbsp;be&nbsp;loaded&nbsp;by&nbsp;the&nbsp;Plug-In,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;click&nbsp;on&nbsp;the&nbsp;&quot;Convert&quot;&nbsp;button.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;That's&nbsp;all&nbsp;there&nbsp;is&nbsp;to&nbsp;it.&nbsp;For&nbsp;more&nbsp;details&nbsp;on&nbsp;the&nbsp;object&nbsp;HTML&nbsp;tag,&nbsp;see&nbsp;the&nbsp;Java&nbsp;Plug-in&nbsp;HTML&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Specification.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Running&nbsp;signed&nbsp;applets&nbsp;with&nbsp;appletviewer&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.Step&nbsp;1&nbsp;-&nbsp;Get&nbsp;the&nbsp;latest&nbsp;version&nbsp;of&nbsp;JDK&nbsp;1.1.x&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To&nbsp;follow&nbsp;this&nbsp;example,&nbsp;you'll&nbsp;need&nbsp;to&nbsp;download&nbsp;a&nbsp;copy&nbsp;of&nbsp;JDK&nbsp;1.1.x.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Once&nbsp;you've&nbsp;downloaded&nbsp;JDK&nbsp;1.1.x&nbsp;and&nbsp;installed&nbsp;the&nbsp;software&nbsp;on&nbsp;your&nbsp;client,&nbsp;we're&nbsp;ready&nbsp;to&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;go.&nbsp;Make&nbsp;sure&nbsp;that&nbsp;the&nbsp;JDK&nbsp;tools&nbsp;are&nbsp;accessible&nbsp;from&nbsp;your&nbsp;search&nbsp;path.&nbsp;We'll&nbsp;need&nbsp;to&nbsp;use&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;these&nbsp;tools:&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;javakey,&nbsp;the&nbsp;tool&nbsp;for&nbsp;generating&nbsp;keys&nbsp;and&nbsp;signing&nbsp;archives&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jar,&nbsp;the&nbsp;tool&nbsp;for&nbsp;creating&nbsp;an&nbsp;archive&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;appletviewer,&nbsp;a&nbsp;stripped-down&nbsp;browser&nbsp;for&nbsp;viewing&nbsp;the&nbsp;applet&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.Step&nbsp;2&nbsp;-&nbsp;Observe&nbsp;the&nbsp;restrictions&nbsp;placed&nbsp;on&nbsp;applets&nbsp;by&nbsp;default&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Downloaded&nbsp;applets&nbsp;are&nbsp;prevented&nbsp;from&nbsp;writing&nbsp;files&nbsp;to&nbsp;your&nbsp;hard&nbsp;disk.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here's&nbsp;the&nbsp;source&nbsp;code&nbsp;for&nbsp;an&nbsp;applet&nbsp;that&nbsp;wants&nbsp;to&nbsp;do&nbsp;just&nbsp;that.&nbsp;It&nbsp;tries&nbsp;to&nbsp;write&nbsp;a&nbsp;file&nbsp;named&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/tmp/foo&nbsp;(or&nbsp;a&nbsp;file&nbsp;named&nbsp;&quot;tmpfoo&quot;&nbsp;if&nbsp;you're&nbsp;on&nbsp;a&nbsp;Windows&nbsp;system.)&nbsp;This&nbsp;is&nbsp;not&nbsp;a&nbsp;malicious&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;applet,&nbsp;but&nbsp;it&nbsp;is&nbsp;trying&nbsp;to&nbsp;do&nbsp;something&nbsp;that&nbsp;the&nbsp;Java&nbsp;Applet&nbsp;Security&nbsp;Manager&nbsp;prevents&nbsp;it&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;doing.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;can&nbsp;see&nbsp;what&nbsp;happens&nbsp;when&nbsp;you&nbsp;try&nbsp;to&nbsp;run&nbsp;this&nbsp;applet&nbsp;by&nbsp;typing&nbsp;this&nbsp;command&nbsp;in&nbsp;a&nbsp;shell&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window&nbsp;(or&nbsp;in&nbsp;an&nbsp;MS-DOS&nbsp;prompt&nbsp;window:)&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&nbsp;appletviewer&nbsp;<A HREF="http://java.sun.com/security/signExample/writeFile.html">http://java.sun.com/security/signExample/writeFile.html</A>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;should&nbsp;see&nbsp;that&nbsp;the&nbsp;system&nbsp;throws&nbsp;a&nbsp;security&nbsp;exception.&nbsp;This&nbsp;is&nbsp;a&nbsp;good&nbsp;thing,&nbsp;and&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expected&nbsp;behavior.&nbsp;A&nbsp;security&nbsp;exception&nbsp;doesn't&nbsp;mean&nbsp;that&nbsp;a&nbsp;security&nbsp;violation&nbsp;occurred&nbsp;-&nbsp;it&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;means&nbsp;exactly&nbsp;the&nbsp;opposite.&nbsp;It&nbsp;means&nbsp;that&nbsp;the&nbsp;system&nbsp;caught&nbsp;the&nbsp;applet&nbsp;trying&nbsp;to&nbsp;escape&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;restrictions&nbsp;of&nbsp;the&nbsp;applet&nbsp;sandbox.&nbsp;To&nbsp;alert&nbsp;you&nbsp;to&nbsp;that&nbsp;fact,&nbsp;the&nbsp;system&nbsp;threw&nbsp;an&nbsp;exception.&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;programmer&nbsp;terminology&nbsp;for&nbsp;&quot;the&nbsp;system&nbsp;set&nbsp;off&nbsp;a&nbsp;warning&nbsp;bell.&quot;&nbsp;When&nbsp;you&nbsp;see&nbsp;a&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;security&nbsp;exception&nbsp;on&nbsp;a&nbsp;Java&nbsp;system,&nbsp;you&nbsp;know&nbsp;that&nbsp;the&nbsp;system&nbsp;prevented&nbsp;the&nbsp;code&nbsp;from&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;violating&nbsp;security.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.Step&nbsp;3&nbsp;-&nbsp;Set&nbsp;up&nbsp;your&nbsp;system&nbsp;to&nbsp;accept&nbsp;code&nbsp;signed&nbsp;by&nbsp;Duke&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It&nbsp;turns&nbsp;out&nbsp;that&nbsp;Duke&nbsp;(our&nbsp;mascot)&nbsp;signed&nbsp;this&nbsp;applet&nbsp;and&nbsp;stored&nbsp;it&nbsp;in&nbsp;an&nbsp;archive&nbsp;named&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signedWriteFile.jar.&nbsp;If&nbsp;you&nbsp;get&nbsp;a&nbsp;copy&nbsp;of&nbsp;Duke's&nbsp;certificate,&nbsp;import&nbsp;it&nbsp;into&nbsp;your&nbsp;system's&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;identity&nbsp;database&nbsp;and&nbsp;declare&nbsp;Duke&nbsp;to&nbsp;be&nbsp;a&nbsp;trusted&nbsp;entity,&nbsp;then&nbsp;you'll&nbsp;allow&nbsp;any&nbsp;applet&nbsp;signed&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;by&nbsp;Duke&nbsp;to&nbsp;have&nbsp;full&nbsp;authority&nbsp;on&nbsp;your&nbsp;system.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here's&nbsp;the&nbsp;steps&nbsp;you&nbsp;need&nbsp;to&nbsp;take&nbsp;to&nbsp;accomplish&nbsp;that.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.Get&nbsp;a&nbsp;copy&nbsp;of&nbsp;Duke's&nbsp;certificate&nbsp;and&nbsp;store&nbsp;it&nbsp;in&nbsp;a&nbsp;file&nbsp;named&nbsp;Duke.x509&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.Create&nbsp;the&nbsp;identity&nbsp;&quot;Duke&quot;&nbsp;in&nbsp;your&nbsp;JDK&nbsp;1.1&nbsp;identity&nbsp;database.&nbsp;By&nbsp;passing&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parameter&nbsp;&quot;true&quot;,&nbsp;you're&nbsp;saying&nbsp;that&nbsp;you&nbsp;want&nbsp;Duke&nbsp;to&nbsp;be&nbsp;a&nbsp;trusted&nbsp;identity.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&nbsp;javakey&nbsp;-c&nbsp;Duke&nbsp;true&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.Import&nbsp;Duke's&nbsp;certificate&nbsp;into&nbsp;your&nbsp;identity&nbsp;database,&nbsp;assuming&nbsp;you&nbsp;have&nbsp;a&nbsp;copy&nbsp;of&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Duke's&nbsp;certifiate&nbsp;in&nbsp;the&nbsp;file&nbsp;named&nbsp;Duke.x509.&nbsp;Associate&nbsp;that&nbsp;certificate&nbsp;with&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;identity&nbsp;&quot;Duke&quot;&nbsp;by&nbsp;using&nbsp;that&nbsp;nickname&nbsp;as&nbsp;the&nbsp;first&nbsp;argument&nbsp;to&nbsp;the&nbsp;javakey&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;command.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&nbsp;javakey&nbsp;-ic&nbsp;Duke&nbsp;Duke.x509&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.Run&nbsp;the&nbsp;applet&nbsp;signed&nbsp;by&nbsp;Duke&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Now&nbsp;go&nbsp;ahead&nbsp;and&nbsp;run&nbsp;the&nbsp;applet&nbsp;signed&nbsp;by&nbsp;Duke.&nbsp;You'll&nbsp;notice&nbsp;that&nbsp;it&nbsp;can&nbsp;now&nbsp;create&nbsp;and&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;write&nbsp;a&nbsp;file&nbsp;on&nbsp;your&nbsp;local&nbsp;filesystem.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%&nbsp;appletviewer&nbsp;<A HREF="http://java.sun.com/security/signExample/signedWriteFile.html">http://java.sun.com/security/signExample/signedWriteFile.html</A>&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;might&nbsp;wonder,&nbsp;what&nbsp;does&nbsp;the&nbsp;HTML&nbsp;tag&nbsp;look&nbsp;like,&nbsp;for&nbsp;a&nbsp;signed&nbsp;archive?&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;applet&nbsp;code=writeFile.class&nbsp;archive=&quot;signedWriteFile.jar&quot;&nbsp;width=500&nbsp;height=50&gt;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/applet&gt;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;That's&nbsp;all&nbsp;there&nbsp;is&nbsp;to&nbsp;it.&nbsp;You&nbsp;simply&nbsp;tell&nbsp;the&nbsp;browser&nbsp;the&nbsp;name&nbsp;of&nbsp;the&nbsp;archive,&nbsp;using&nbsp;the&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;archive=&nbsp;attribute.&nbsp;For&nbsp;more&nbsp;details&nbsp;on&nbsp;the&nbsp;applet&nbsp;HTML&nbsp;tag,&nbsp;see&nbsp;the&nbsp;JAR&nbsp;Guide.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.Do&nbsp;it&nbsp;yourself&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here's&nbsp;a&nbsp;script&nbsp;that&nbsp;encapsulates&nbsp;all&nbsp;the&nbsp;steps&nbsp;you&nbsp;need&nbsp;to&nbsp;take.&nbsp;Refer&nbsp;to&nbsp;it&nbsp;as&nbsp;an&nbsp;example,&nbsp;as&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;you&nbsp;experiment&nbsp;with&nbsp;the&nbsp;new&nbsp;features&nbsp;of&nbsp;JDK&nbsp;1.1.x.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;doit:&nbsp;a&nbsp;script&nbsp;that&nbsp;creates&nbsp;a&nbsp;Duke&nbsp;identity,&nbsp;keys,&nbsp;certificate,&nbsp;then&nbsp;creates&nbsp;an&nbsp;archive&nbsp;and&nbsp;signs&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it.&nbsp;It&nbsp;prints&nbsp;out&nbsp;some&nbsp;diagnostic&nbsp;information,&nbsp;such&nbsp;as&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;signed&nbsp;archive,&nbsp;and&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;identity&nbsp;database.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here's&nbsp;links&nbsp;to&nbsp;all&nbsp;the&nbsp;files&nbsp;used&nbsp;in&nbsp;this&nbsp;example.&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writeFile.html&nbsp;and&nbsp;writeFile.java&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Duke.x509&nbsp;certificate&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cert_directive_Duke&nbsp;(template&nbsp;for&nbsp;generating&nbsp;a&nbsp;certificate)&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sign_directive_Duke&nbsp;(template&nbsp;for&nbsp;signing&nbsp;an&nbsp;archive)&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;signedWriteFile.html&nbsp;and&nbsp;signedWriteFile.jar&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;more&nbsp;information,&nbsp;refer&nbsp;to&nbsp;the&nbsp;documentation&nbsp;on&nbsp;our&nbsp;main&nbsp;security&nbsp;page,&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="http://java.sun.com/security.">http://java.sun.com/security.</A>&nbsp;In&nbsp;particular&nbsp;you&nbsp;might&nbsp;be&nbsp;interested&nbsp;in&nbsp;a&nbsp;brief&nbsp;document&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;named&nbsp;Using&nbsp;Javakey.&nbsp;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>【&nbsp;在&nbsp;nuaawlp&nbsp;(远方之恋)&nbsp;的大作中提到:&nbsp;】&nbsp;<BR>∶<I>&nbsp;在发行Java&nbsp;Applet文件时,为了扩展Applet对客户端访问的权限,在服务器&nbsp;</I><BR>∶<I>&nbsp;端将所有class文件打包成JAR文档并对它进行了数字签名,那么客户端的浏览器&nbsp;</I><BR>∶<I>&nbsp;如何利用公开密匙对该Applet进行安全审查呢?&nbsp;</I><BR>∶<I>&nbsp;非常感谢!&nbsp;</I><BR>&nbsp;<BR>&nbsp;<BR>--&nbsp;<BR>※&nbsp;来源:·BBS&nbsp;水木清华站&nbsp;bbs.net.tsinghua.edu.cn·[FROM:&nbsp;cascade.cs.ubc.]&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

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