<JSTORM> JSTORM http://wwwjstormpekr
Issued by: < > Revision: <10> <2000/01/05> Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: <10> Issued by: < > SI, dbin@handysoftcokr Issue Date: <2001/01/05> Status: final Content Information Audience Abstract Reference (wwwmasocokr) Benchmark information JSTORM <2/14>
Issued by: < > Revision: <10> <2001/01/05> Table of Contents 4 5 5 9 11 13 14 14 JSTORM <3/14>
Issued by: < > Revision: <10> <2001/01/05> 1995 HTML DHTMLXML HTML (SandBox) Win32 JDK 11AWTWin32 JDK 10 AWTMFC JIT JFC API API JDK 10 JDK 11 Win32 API PC JDK 11, ( JSTORM <4/14>
Issued by: < > Revision: <10> <2001/01/05> 10 ) 4x, 4x (Packaging) JAR, CAB JARCAB CA(Certificate Authority) VeriSign VeriSign (http://wwwverisigncom) RSA Intranet Certificate Server JDK 11 (Packaging) (Signing) HTML jar JAR jar PKZIP cabarc CAB MSZIP JAR JAR CAB JSTORM <5/14>
Issued by: < > Revision: <10> <2001/01/05> Active-X JPM(Java Package Manager) JPM,, dubuild JPM Authenticode Object Signing X509 v3 PKCS #7 signtool signcode Capabilities Based Model Principal (Who) Privileges (Access Rights) Target (What) 1 Principal Target, PrincipalTarget Privileges Principal CA codebase prefsjs principalcodebase JSTORM <6/14>
Issued by: < > Revision: <10> <2001/01/05> user_pref("signedappletscodebase_principal_support", true); prefsjs Target (Privileges) Granting Granting Enabling Granting Enabling Enabling 2 Enabling Capabilities API API Trust Based Model (Static Model) (Zone) /,,,,,, JSTORM <7/14>
Issued by: < > Revision: <10> <2001/01/05> CAB signcode CAB (Signature),,, (Fully Trusted) CAB? CAB 1CAB \CAB HTML HTML APPLET ARCHIVE JAR <APPLET code="myapplet" width=200 height=200 archive="myappletarchivejar"> <PARAM NAME= VALUE=> </APPLET> APPLET PARAM cabbase CAB <APPLET code=myclassclass width=100 height=100> <PARAM NAME=cabbase VALUE=MyAppletArchivecab> <PARAM NAME= VALUE=> </APPLET> cab base useslibrarycodebaseuseslibraryversion JSTORM <8/14>
Issued by: < > Revision: <10> <2001/01/05> <PARAM NAME=useslibrarycodebase VALUE="MyAppletcab"> <PARAM NAME=useslibraryversion VALUE="1,1,2,3"> HTML HTML <APPLET code="myapplet" width=200 height=200 archive="myappletarchivejar"> <PARAM NAME=cabbase VALUE=MyAppletArchivecab> <PARAM NAME=useslibrarycodebase VALUE="MyAppletcab"> <PARAM NAME=useslibraryversion VALUE="1,1,2,3"> <PARAM NAME= VALUE=> </APPLET> (Digital Signature) Public/Private Key (FootPrint) Public Key Private Key? 3 (MD5/SHA) FootPrint CA Private Key JSTORM <9/14>
Issued by: < > Revision: <10> <2001/01/05> 4 // Public Key (Certificate)? 5 Public Key CA CA Public Key 3, Public Key, CA JAR CA Public Key 3 JAR Public Key CA Public Key CA CAPublic Key (Communicator/Security Info/Certificates/Signers CA ) JSTORM <10/14>
Issued by: < > Revision: <10> <2001/01/05> 10 Capabilities API Capabilities API Capabilities API? Principals, Targets, Privileges Principals (Targets) (Privileges) // SimplePrivSamplejava package netscapesamplesecurity; import netscapesecurityprivilegemanager; import javaio*; public class SimplePrivSample implements RunnableSample { public void run(printstream ps){ psprintln("trying to acquire permission to read system properties"); try { PrivilegeManagerenablePrivilege("UniversalPropertyRead"); psprintln("\tsuccess!"); } catch (netscapesecurityforbiddentargetexception e) { psprintln("\tfailed! Permission to read system properties denied by user"); } catch (Exception e) { psprintln("\tfailed! Unknown exception while enabling privilege"); eprintstacktrace(ps); } psprintln(); JSTORM <11/14>
Issued by: < > Revision: <10> <2001/01/05> } } String property = "userhome"; psprintln("trying to get system property (" + property + ")"); try { String propertyvalue = SystemgetProperty(property); psprintln("\tsuccess!"); psprintln("\t" + property + " = " + propertyvalue); } catch (netscapesecurityappletsecurityexception e) { psprintln("\tfailed! Security Violation"); eprintstacktrace(ps); } catch (Exception e) { psprintln("\tfailed! Unkndown exception while accessing property"); eprintstacktrace(ps); } userhome SystemgetProperty( userhome ) AppletSecurityException UniversalPropertyRead Target (Privilege) PrivilegeManager enableprivilege ("UniversalPropertyRead"); netscapesecurityprivilegemanager enableprivilege http://developernetscapecom/docs/manuals/indexhtml?content=signedobj/ secsampleharness/secsampleharnesshtml Target Target http://developernetscapecom/docs/manuals/signedobj/targets/indexhtm 2 Target Target UniversalFileAccess UniversalLinkAccess UniversalPropertyRead UniversalFileRead UniversalFileWrite UniversalFileDelete JSTORM <12/14>
Issued by: < > Revision: <10> <2001/01/05> UniversalConnect UniversalFdRead UniversalFdWrite UniversalAccept UniversalListen UniversalThreadAccess UniversalThreadGroupAccess (Object Signing) signtool http://developernetscapecom/docs/manuals/signedobj/ (Certificate) Security Info/Certificates/Yours/Get a Certificate CA CA Certificate ( ) Certificate Server Security Info/Password signtool G MySignCert MySignCert Windows d d users/user_name signtool L CA, signtool signtool c0 -k MySignCert -Z testjarjar signdir signdir testjarjar JAR c 0 JDK 11 JDK 12 HotSpot Dynamic HTML, XML JSTORM <13/14>
Issued by: < > Revision: <10> <2001/01/05> Active-X PC JFCCapabilities API Java Security http://wwwjavasoftcom/security/ Escape the sandbox: Access native methods from an applet, JavaWorld 10 http://wwwjavaworldcom/javaworld/jw-10-1998/jw-10-apptowin32html HOWTO: Deploying Java in Internet Explorer 40 and Netscape 40, http://supportmicrosoftcom/support/kb/articles/q179/6/52asp Object Signing Tool 11, http://developernetscapecom/docs/manuals/signedobj/signtool/indexhtm JSTORM <14/14>