Release Notes
  In this topic
 

Release Notes   Release Notes
Security Model   Introduction

 


The previous version of the Microsoft VM (shipped in Internet Explorer 3.02) allowed signed code to be treated as trusted. Essentially, classes were placed in a cab file and signed. When downloaded onto the user's machine, the user was presented with a certificate dialog specifying the publisher of the code and other information. If the user granted permission to the trusted code, the code was allowed access to system resources.

The permissions-based security model in Internet Explorer 4.0 extends this security model by providing a granular approach to allowing applets out of the "sandbox." The Java code may be signed with default permissions of High, Medium and Low safety settings.

In addition to the default settings of High, Medium, and Low, developers may sign their code with a fine-grained set of custom permissions by specifying them in a .ini file. For example, developers may sign their code requesting permission to access only a particular file on the user's hard drive.

The High safety setting is a restrictive set of permissions that are the equivalent of "sandboxed" Java code. This set of permissions enables the applet to:

  • Have thread access in the current execution context.
  • Create a top-level popup Window with a warning banner.
  • Access Reflection API’s for classes from the same loader.
  • Read system properties with the applet suffix.
  • Open network connections to the host machine.

The Medium safety setting consists of the following set of permissions (in addition to the permissions in the High setting):

  • Scratch Space
  • User Directed File I/O

The Low safety setting enables all permissions (in addition to the permissions in the High and Medium settings). This enables the applet to:

  • Execute other applications on the client.
  • Perform file I/O.
  • Perform multimedia operations.
  • Open network connections to machines other than the host.
  • Perform printing operations.
  • Read system properties.
  • Access Reflection API's.
  • Perform registry operations.
  • Redirect system streams.
  • Provide thread group access in the current execution context.
  • Create a top-level popup window without a warning banner.
  • Implement user-interface dialogs.

Signing Tools

Tools for signing code are available in the BIN\PACKSIGN directory of this release of the SDK for Java. These tools provide developers the capability to sign their Java code with the default settings and with the fine-grained custom permission settings.

The general-purpose signing tools MakeCert.exe, Cert2SPC.exe, signcode.exe, ChkTrust.exe, setreg.exe, and CertMgr.exe are included in this release of the SDK for Java. The Java specific tools JavaSign.dll and ChkJava.exe are also included.

Two new tools have been added to the Microsoft SDK for Java version 3.0 pre-release 2. These are the Permission Editor (cprmedit.exe) and the Permission INI File Editor (piniedit).

The Permission Editor (CPrmEdit.exe) tool allows users to edit Java permissions for specific security zones using a graphical user interface. The user interface presented by the cprmedit tool is similar to the dialog boxes in Internet Explorer 4.01 that allow administrators to set security options. These options are normally allowed only in the Internet Explorer Administrators Kit (IEAK) or by running the zonedon.reg file. The Permission Editor allows power users and advanced java users to set their own fine grained Java permission settings.

The Permission INI File Editor tool(PIniEdit.exe) provides a quick way to create .ini files that are used with the signcode tool. The signcode tool uses .ini files to provide descriptions of the permission settings that Java applets need. Using an .ini file with the signcode tool allows you to digitally sign your applet with the permissions encoded within the digital signature. The other way to create .ini files requires manually creating the file and setting the value of each variable in the file. The Permission INI File Editor creates and edits .ini files quickly and easily by allowing you to specify the permissions using a graphical user interface.

For a short description of these tools, please see the Tools topic. For more detailed instructions on using the tools, see the SDK documentation.

To get more information on working with the Microsoft VM, please check out the SDK documentation on this subject.



Top © 1998 Microsoft Corporation. All rights reserved. Terms of use.