¦b³o½g½×¤å¤¤ , ©Òn¤¶²Ðªº¬OÃö©ó Signed Applet ªº¤èªk . Java Applet ¦bªñ´X¦~¥i¥H»¡¬Oª¥¤â¥i¼ö . ¥Ñ©ó Applet ¬O¸g¥Ñºô¸ô¶Ç¿é¦Ó¨ú±oªº , °ò©ó¦w¥þªº¦Ò¶q , «K¦³¤F³\¦h¦w¥þªº¾÷¨î , ³oÂI¨î¤F Applet ªº¯à¤O , ¤j¤jªº°§C¤F Applet ¥i¥H¾A¥Îªº½d³ò ; ¬°¦¹ , Microsoft »P Netscpae ©M Sun µ¥¤½¥q¤À§O¬°¦U¦ÛªºÂsÄý¾¹¥[¤W¤@¨Ç¤èªk¨Ó¬ð¯}³o¼h¨î , ¤S¯à½T«O§Ú̪º¦w¥þ©Ê , ¤]´N¬O¥»¤å©Òn¤¶²Ðªº Signed Applet ªº¤èªk .
¸g¥Ñ³oÓ¤èªk , ´N¥i¥H°µ¥X¥\¯à§ó±j¤jªºµ{¦¡¥X¨Ó ; ¦P®É , ªñ¦~¨Ó¿³°_ªººô¸ôÁʪ« , ¦w¥þ©Ê¤@ª½¾D¤H¸á¯f ; ¦ý¥i¥H¸g¥Ñ³oÓ¤èªk , ¨Ó§¹¥þ¸Ñ¨M³o¼Ëªº°ÝÃD .
ºô¸ôÁʪ«¤w¶V¨Ó¶V²±¦æ,ºô¸ô¦w¥þ¥H¤Îºô¸ô¾Þ§@ªº¤è«K©Ê¤]¶V¨Ó¶V¨ü¨ì«µø,°ò©ó³o¨âºØªº¦Ò¶q, ¥Ø«e¬y¦æªºbrowser¦pNetscape, Microsoft IE³£¬O³Ì¨Îªº¿ï«h,browser©ö¾Þ§@, ¨S¦³¥¥x¤Wªº ¨î,security¤]¨S¦³°ÝÃD,¤£¥Î©È¦]¬°¥Î¤Fbrowser¦Ó³y¦¨¦Û¤v¹q¸£ùتº¸ê®Æ³QÅѨú¡C
¤£¹L¥t¤@¤è¤]¦]¬°browser¤WºØºØªºsecurity¨î,¥HP©ó³\¦hªº¥\¯àµLªk§¹¥þªºµo´§,¥Ø«e¥i¬ð ¯}¦¹¨îªº¦³MicrosoftªºActiveX,¦ý¬OActiveX¦bsecurity¤Wªº¤£ÄYÂÔ,·|³y¦¨³\¦hºô¸ô¤W¤£ªk ªº¤J«I,¥t¤@¤èActiveX¥Ø«e¤]¥u¦³Microsoftªº¥¥x¤W¤~¦³¤ä´©,¨ä©Ò»Ýªº¤]¬O¦³¡C
¦Ó¥Ø«e¤j¦h¼Æbrowser³£¤ä´©ªºjava applet,¥i¸ó¥¥x¬O¨ä³Ì¤jªºÀuÂI,¦ý¬O¦bsecurity¤W·|³Qbrowser ©Ò¨î,¨ä±j¨î±Ä¥Îªº¦w¥þ¨î¦³:
ÃöÁä¦r | ©w¸q |
java.class.path | Java class¸ô®| |
java.home | Java installªº¸ô®| |
user.dir | User¥Ø«eªº¤u§@¥Ø¿ý |
user.home | Userªºhome directory |
user.name | Userªºaccount |
¥Ø«einternetªº¨Ï¥Î¡A¥Hbrowser¬°¦û¤j¦h¼Æ¡A¦pªG§Æ±æbrowser¯à¹F¨ì¤@¯ëºô¸ôÀ³¥Î³nÅéÀ³¦³ªº¥\ ¯à¡Ajava applet¦ü¥G¬O¤£¥i¯à¡AY¥HMSªºActiveX¨Ó·í°µsolutionªº¸Ü¡A°£¤F¥²»Ý³QMicrosoft¸j¦í¤§ ¥~¡A¦w¥þ¤]¬O¤@¤jÁôÀu¡A©Ò¥H¥Ø«eªº¸Ñ¨M¤§¹D°£¤F¹ïbrowser¤U¥\¤Ò¤§¥~¡A´NÄÝsigned applet¬°¥Ø«e ³Ì¨Îªº¸Ñ¨M¤èªk,¦]¬°signed applet ¥i¦bµ{«×¤W¾A·íªº¤£¨übrowser¨î,¤S¥i¸g¹L¦w¥þ»{ÃÒªº«OÅ@,¥H½T«O ¸ê®Æ¦w¥þ»P§¹¾ã¡C
¹B§@ì²z¤À¬° Programer ©M Broswer ¨â³¡¥÷ , »¡©ú¦p¤U:
Programer
¦p Fig. 1 ©Ò¥Ü , Applet ¥ý¸g¥Ñ Hash function ¨D¥X¤@¬q Hash code «á ,
¦A¸g¥Ñ Signer ªº private key ¥[±K , ¦P®É¥[¤JÓ¤Hªº certificate , ©Mµ{¦¡½X
¦@¦P¸g¥ÑÀ£ÁY , ²£¥Í¥X¤@ÓÀ£ÁYÀÉ . ³oÓÀ£ÁYÀÉ´N¨ã¦³Åý¥L¤HÅçÃÒªº¯à¤O .
Broswer
·í Broswer ±µ¦¬¨ì¤@Ó³Qñ³¹¹Lªº Applet ÀÉ®×®É , º¥ý ,
·|¹ï³oÓÀ£ÁYÀɶi¦æ¸ÑÀ£ÁY , ¥ý¨ú±o Signer ªº certificate ©M³Q¥[±K¹Lªº hash code ,
§Q¥Î CA ªº Public Key ¥i¥H¦b Signer ªº certificate ¨ú±o¥Lªº public key ¨Ó¸Ñ¶} hash code
ªº¤º®e . ¥t¥~ , ¤]¹ï¨ú±oªº Applet §Q¥Î¬Û¦Pªº Hash function °µ¥X¥t¤@¬q hash code ,
³Ì«á¤ñ¸û¨âªÌ¬O§_¬Û¦P . ¦pªG¬Û¦Pªº¸Ü , ªí¥Ü³oÓ Applet ¤£´¿³Q×§ï¹L , ¥i¥H©ñ¤ß°õ¦æ ;
¦pªG¤£¬Û¦P , ´Nªí¥Ü Applet ¤w¸g³Q×§ï¤F , ¤£¥i¦A°õ¦æ³oÓ Applet .
Ãö©ó¥Ø«e¦³¸ê´© Applet ¥B¦³¬Û·í¨Ï¥ÎªÌªº broswer ´N¼Æ Microsoft IE ©M Netscape Communicator ; ©³¤U´N¤À§O¹ï³o¨âºØ broswer °µ¤¶²Ð :
Microsoft IE
º¥ý , n¥ý¨ú±o MS JAVA SDK 2.01 , ¨ä¤¤¥]§t¤F§Ú̩һÝnªº¨âÓ¤u¨ã. ¦b¹ï Applet °µÃ±³¹¥H«e , n¥ý¹ïµ{¦¡°µÀ£ÁY , À£¦¨ cab ÀÉ , ¨ä¤èªk¦p¤U :
abarc n CabFileName.cab <file will add to the CabFileName>
CabFileName.cab : À£ÁY§¹«á©Ò²£¥Íªº cab ÀÉ
±µ¤U¨Ó«Kn¹ï³oÓ cab ÀɰµÃ±³¹ , ¨ä¤èªk¦p¤U:
signcode -j javasign.dll -jp low -spc MyCert.spc -k MyKeyName MyApplet.cab
-jp : Applet Åvªº³]©w , ¦@¤À¬° low , medium , high ; ¨ä¤¤ , low ¹ï¦w¥þ©Êªºn¨D¸û§C , high ¬°³Ì°ªªº .
-k : ªí¥Ü¾ÌÃÒ¤¤ , ¥NªíÓ¤H¥NªíÓ¤Hªºª÷Æ_ªº¤@Ó¥NºÙ
MyApplet.cab : À£ÁY©Ò¦³ªº class «á©Ò²£¥Íªº cab ÀÉ .
©Ò²£¥Íªº³oÓ MyApplet.cab´N¬OñÃÒ¹LªºÀÉ®× . ±µµÛ , ´N n§â³oÓ cab ÀÉ©ñ¤J html ¤¤¤F , ¨ä®æ¦¡¦p¤U :
<applet code=Test.class width=300 hight=300 >
<param name="cabinets" value="MyTestApplet.cab"></applet>
·í¨ä¦b IE ¤W°õ¦æªº®ÉÔ , ·|¦³ Fig. 3 ³oÓµe±¥X²{ , ·í¿ï¾Ü½T©w¥H«á , ³oÓ applet «K¥i¥H¬ð¯}¦w¥þ¨î , Ū¨ú local ºÝªº¸ê°T¤F.
Netscape Communicator
Netscape ´£¨Ñªº¤èªk , ¬O§Q¥Î signtool ³oÓµ{¦¡»P communicator ¬Ûºò±Kµ²¦X , ¦Ó²£¥Í¥Xñ³¹¹Lªº Applet . ¦P®É , ¦b¹ï Applet °µÃ±³¹«e , n¹ïµ{¦¡°µ¨Ç³\ªº×§ï , Åý Netscpae ©Òµo®iªº capsapi_classes.zip package ¨ÓºÞ²z¬ÛÃöªº¦w¥þ°ÝÃD . ¦bIJ¥Ç¨ì¦w¥þ¨îªºµ{¦¡½X , ¦pŪ¨ú¥»¦a¹q¸£ÀÉ®× , «e¥[¤J¤U±ªºµ{¦¡½X :try{
PrivilegeManager.enablePrivilege("UniversalFileRead");
} catch(netscape.security.ForbiddenTargetException e){
System.out.println(e);
}
signtool ¬O¨ÌªþµÛ Netscape ¤~¯à¹B§@ªº , ¨ä©Ò¤Uªº©R¥O¤¤ , ¦³«Ü¦h³£¬O¸òNetscpae communicator ¦³¬Û·í±K¤ÁªºÃö«Y .·í§Ú̪º applet ¥[¤W¤W±ªºµ{¦¡¥H«á , ±N³oÓ class ©ñ¦b¤@ӥؿý¤U , µM«á°õ¦æ¤U±ªº©R¥O :
signtool -k"your ID" -d"c:\netscape\users\wrs" -Z"testjar.jar" classdirection
"your ID" : ¤§«e , ¨ú±o¼Æ¦ì¾ÌÃÒ®É , ©Ò¿é¤Jªº¦WºÙ .
"c:\netscape\users\wrs" : Netscape ¤¤¦s©ñÓ¤H¸ê®Æªº¦a¤è
"testjar.jar" : ³Ì«á©Ò²£¥ÍªºÀɮצWºÙ
classdirection : ¤§«e¦s©ñ class ªº¨ºÓ¥Ø¿ý
¦b§¹¦¨ Sign Applet ¥H«á , «Kn±N¨ä©ñ¤J html ¤¤ , ¨ä®æ¦¡¦p¤U :
<applet code=Test.class archive="testjar.jar" Width=250 height=60>
</applet>
±µµÛ´Nn°õ¦æ§Ú̪ºµ{¦¡¤F , ¤@¶}©l , ·|¸ò¤@¯ëªº Applet ¨S¦³¤°»ò¤À§O , ¦ý·íµ{¦¡°õ¦æ¨ì¥ý«e¦³¥[¦w¥þ¨îªº¨º¨Çµ{¦¡½Xªº®ÉÔ , ´N·|¦³ Fig. 4 ªº³oÓµe±¥X²{ . ¨ÓÅý¨Ï¥ÎªÌ¨M©w¬O§_¤¹³\³oÓµ{¦¡¥h°µ³o¥ó¨Æ±¡.
©³¤U , ´N¹ï Netscape »P Microsoft ªº¤èªk²¤¥[¥H¤ñ¸û¨ä¶¡ªº®t²§:
Åvªº³]©w
Microsoft ¹ï©ó Applet ¦b broswer ¤¤ªºÅv³]©w¦b©ó¹ï Applet °µÃ±³¹ªº®ÉÔ°µ ; ¦ý Netscpae «h»Ýn¹ïµ{¦¡½X¥[¥H×§ï . ÅãµMªº , Microsoft ªº°µªkn²³æªº¦h , ¦ý¦P®É¤]¥X²{¤@Ó°ÝÃD ; ¦pªG n¦b¤@Ó Applet ¤¤ , ¨Ï¥ÎªÌn¦P·N²Ä¤@¦¸ªºÀÉ®×Ū¨ú , ¦ý¤£¦P·N²Ä¤G¦¸ªºÀÉ®×Ū¨ú , ´N¨S¦³¿ìªk °µ¨ì¤F ; ¦ý Netscpe ´N¥i¥H¤À§O¤¹³\¦UºØªºÅv .
Certificateªº¦w¥þ©Ê
Netscape ªº certificate ¬Oª½±µ¸m©ó¨ä broswer ¤¤ , ¤]ª½±µ±q¨ä¤¤Åª¥X¨Ó ; Microsoft «h±N¨ä ©ñ©óµwºÐªº¬Y³B ; ¦w¥þ©Êªº¦Ò¶q¬O¦U¦³Àu¯ÊÂI ; Netscape ¸g¥Ñ¨ä broswer ¨Ó«OÅ@³o¨Ç¸ê®Æ , ¦Ó Microsoft «h¥Ñ¨Ï¥ÎªÌ¦Û¦æ¨Ó«OÅ@.
À£ÁYÀÉ
Microsoft ´£¥Xªº cab ÀÉ , ¦³¸û°ªªºÀ£ÁY²v , ¦ý°£¤F Windows ªºÀô¹Ò¥~ , ¨ä¥¦ªº§@·~¨t²Î¨Ã ¨S¦³¬ÛÃöªºµ{¦¡ ; Netscape ©Ò¨Ï¥Îªº jar Àɬ° java ¼Ð·ÇªºÀ£ÁY®æ¦¡ , ¥Ø«eªº¸ê´©©Ê¸û°ª .
HTML ¼gªk
¸g¥Ñ¤W±ªº¤¶²Ð , ¦pªGn¦b¨âÓ broswer ³£ ¯à°õ¦æ§Ú̪º Applet , ´N»Ýn¨âÓ html ÀÉ ; ¤U±¬O±N¤W±´£¨ìªº¨âÓÀ£ÁYÀɾã¦X¦b¤@°_ªº½d¨Ò:
<applet code=Test.class archive="testjar.jar" width=300 hight=300 ><param name="cabinets" value="MyTestApplet.cab">
</applet>
¦b IE ¤¤·|¦]¬°¦³ cabinets ³oÓ param , ¦Ó©¿²¤ archive ¤¤ªº±Ôz ; Communicator «hè¦n¬Û¤Ï , ¬O¬G³o¼Ëªº¼gªkè¦n¥i¥Hº¡¨¬§Ṳ́@Óºô¶´N¥i¥HÅý¨âºØÂsÄý¾¹³£¯à¨Ï¥Îªº¥Øªº.
Signed applet¥i¹F¨ìªº¥\¯à¥i¥H»¡¦p¦P¤@¯ëªºnetwork application¤@¼Ë¡A¤£¹L¥¦¦³¤@¯ëªºapplication ©Ò¨S¦³ªº¦n³B¡A´N¬O¥i¥H³z¹Lbrowser¨Ó°õ¦æ¡A¥i¸ó ¥¥x¡A¤£»Ýn°µinstallµ¥ªº°Ê§@¡A¥un¦³browser¡A¦³CAªºpublic key¡A´N¥i¥H«Ü¤è«Kªº¹F¨ì©Ònªº¥Øªº¡A¦]¦¹¥i¥H§Q¥Îbrowser¨Ómonitor¹q¸£ªº¦UÓª¬ªp¡Aª½±µ±qbrowserºÊ±±¹F¨ìºôºÞªº¥Øªº¡A¤]¥i¥H§Q¥Îbrowser¶i¦æºô¸ô¶Ç¿éªºÀ³¥Î¡A¦pfileªºdownload upload¡Aweb fax¡Aweb ¤Wªººô¸ô¶R½æ¥æ©ö¡Aweb¤Wªºoffice¡Aweb¤W¥i¥HÀx¦sÓ¤H³]©w»P¶i«×ªºgame¡A§Q¥Îweb¬Ý¹qµø¡A¬ÝVCDµ¥¡A´X¥G©Ò¦³¦b¥Ø«e¹q¸£ùتºÀ³¥Î³nÅé³£¥i¥H§ï¦¨webªºªO¥»¡A³oÓ²z©À¦³§U©ónetwork PCªºµo®i¡A¨ì®ÉÔ¥i¯à´N¤£¥²¶R¤@°ï³nÅé¡AµwºÐ¤@ÁûÁûªº¸Ë¡A¥un¦³ºô¸ô¡A¤£ºÞ¬O¤°»òOS¤°»òµwÅé¡A¤@¤Á¥Øªº³£¥i¥H¹F¨ì¡A¹ï©ó¨Ï¥ÎªÌ¬O«D±`¤è«Kªº¨Æ¡A¦Ó¶}µo³nÅ骺programmer¤]¤£»Ý¬°¤F¤£¦P¥¥xªº¹q¸£¦Ó¯S¦a¥hµo®i¤£¦PªO¥»ªº³nÅé¡A³o¥i¥H»¡¬O¸ê°T¬Éªº²z·Q¤j¦P¥@¬É¡C