CONTENTS | PREV | NEXT |
Java SE Platform Security Architecture Specification v0.1 was drafted on March 12, 1997.
Revision 0.2 on March 27, 1997
Revision 0.3 on March 31, 1997
Revision 0.4 on June 3, 1997. Reflected changes in design and implementation based on comments and feedbacks of revision 0.3. Introduced SignedObject.
Revision 0.5 on July 10, 1997. Major reorganization. It now includes a detailed syntax and semantics for policy and permissions. The class java.lang.SecurityManager is changed from abstract to concrete, with a default implementation.
Revision 0.6 on September 3, 1997. Reorganized sections under clearer headings. Syntactical changes to policy file format, including adding an optional signer field to each permission entry. Introduced GuardedObject class and Guard interface. The Permission class is now Serializable and implements the Guard interface. Added a new AccessControlContext class that helps cross-thread access control decision making. Gave descriptions of keytool, policytool, and jarsigner. Revised Acknowledgements.
Revision 0.7 on October 1, 1997. Added description of a feature that automatically makes a new thread, at its creation time, inherit the parent thread's security context so that access control checking in the new child thread considers both the first current context and also the inherited context.
Revision 0.8 on March
9, 1998. The previously package private class
java.security.ProtectionDomain is now made public, and suitable
get
, set
, and define
methods
to use this class are added in java.lang.Class and
java.security.SecureClassLoader. The class
java.security.SignedObject is now immutable. Introduced a new class
java.security.UnresolvedPermission. Added new method
SecurityManager.checkPermission
that, by default,
invokes AccessController.checkPermission
. Syntax
change for FilePermission in the case of "*", "-",
and introduced "<<ALL FILES>>". Other minor
additions and changes, including two new options for jarsigner.
Revised Acknowledgements.
Revision 0.9 on June
10, 1998. Some permission names have been modified to make
permission naming clearer and more consistent. Added sections for
Permission classes not previously documented herein. The
evaluate
method in Policy has been renamed
getPermissions
. Class.setProtectionDomain
no longer exists. Corrected "file:" URL examples. The
"-usepolicy" command-line argument for the "java"
command has been replaced by "-Djava.security.manager" and
"-Djava.security.policy". Updated command lists for the
keytool and jarsigner tools. The AccessController
beginPrivileged
and endPrivileged
methods
have been replaced by the doPrivileged
method.
Revision 1.0 on October 2, 1998. Updated description of the class loading mechanism with a new chapter. Rearranged some chapters and sections.
Revision 1.1 on December 20, 2000. Updated the document to reflect the new Policy and ProtectionDomain updates to support dynamic policies. Also added updates for the integration of the Java Authentication and Authorization Service (JAAS) into the core SDK. New policy syntax was described and examples were added.
Revision 1.2 (the
current version) on March 22, 2002. Added notes on
KeyStore
Alias Replacement including an example of a
grant statement with KeyStore
alias replacement. Added
new section 3.3 explaining generalized expansion in policy files
including examples.