Java(TM) Authentication and Authorization Service V1.0 for Windows(R)
- README -


Note: Before using this information and the product it supports, be sure to read the general information under Notices.

This edition of the README applies to Java Authentication and Authorization Service (JAAS) and to all subsequent releases and modifications until otherwise indicated in new editions.

(c) Copyright Sun Microsystems, Inc. 1997, 2001, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

(c) Copyright International Business Machines Corporation, 1999, 2002. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


This README file provides information about Java(TM) Authentication and Authorization Service (JAAS) for Windows(R).

JAAS is supported on the following products:


Contents

  • Overview
  • Differences between IBM and Sun versions of JAAS
  • What's new?
  • JAAS documentation
  • What has been added on Windows?
  • Using JAAS Active Login
  • Notices
  • Trademarks

  • Overview

    The Sun Microsystems Java 2 platform provides a means to enforce access controls based on where code came from and who signed it. These access controls are needed because of the distributed nature of the Java platform where, for example, a remote applet can be downloaded over a public network and then run locally.

    However, the Java 2 platform does not provide a way to enforce similar access controls based on who runs the code. To provide this type of access control, the Java 2 security architecture requires the following:

    The Java Authentication and Authorization Service (JAAS) framework provides these enhancements.

    For a general overview of JAAS, see the Sun Web site:

    Select Products & APIs and look under Optional packages. The documents at this Web site contain links to many other Web-based information sources.


    Differences between IBM and Sun versions of JAAS

    The IBM(R) version of JAAS differs from the Sun version in the following ways:


    What's new?

    The original release of JAAS for Windows and the Java 2 Platform included the following login modules and principal classes:

    The original platform-dependent principal classes will be replaced by a set of platform-independent principal classes in future releases of JAAS for Windows. To ease migration, this version of JAAS contains both the original set and the new set of principal classes. Also included are new login modules called com.ibm.security.auth.module.NTLoginModule2000 and com.ibm.security.auth.module.NTActiveLoginModule2000. These new login modules have the same function as NTLoginModule and NTActiveLoginModule, but reference the new set of principals. Additional principal classes have been included to facilitate the writing of new login modules.

    You are encouraged to use the new set of principals when developing applications that use JAAS. Previously developed applications will be compatible with this version as well as future versions of JAAS released for the Developer Kit version 1.3.1.

    If you want to migrate applications to the new set of principals, most of the changes you will encounter will be in JAAS policy and configuration files rather than in the applications. Refer to the following table for guidance.

    Original Class Replaced by ...
    NTUserPrincipal UsernamePrincipal
    NTSidGroupPrincipal GroupIDPrincipal
    NTSidUserPrincipal UserIDPrincipal
    NTDomainPrincipal DomainPrincipal
    NTSidDomainPrincipal DomainIDPrincipal
    NTSidPrimaryGroupIDPrincipal PrimaryGroupIDPrincipal
    n/a ServerPrincipal
    n/a WkstationPrincipal
    NTLoginModule NTLoginModule2000
    NTActiveLoginModule NTActiveLoginModule2000

    Principal classes are found in the com.ibm.security.auth package. The login module is found in the com.ibm.security.auth.module package. Check the API documentation (javadocs) for more information on the new principal classes.

    For example, this JAAS policy grant block:

    grant Principal com.ibm.security.auth.NTUserPrincipal "bob",
          Principal com.ibm.security.auth.NTSidUserPrincipal "S-1-5-21-1202660629-764733703-839523458-1000",
          Principal com.ibm.security.auth.NTSidGroupPrincipal "S-1-1-0" {
       permission java.util.PropertyPermission "java.home", "read";
    };
    would be replaced by:
    grant Principal com.ibm.security.auth.UsernamePrincipal "bob",
          Principal com.ibm.security.auth.UserIDPrincipal "S-1-5-21-1202660629-764733703-839523458-1000",
          Principal com.ibm.security.auth.GroupIDPrincipal "S-1-1-0" {
       permission java.util.PropertyPermission "java.home", "read";
    };

    JAAS documentation

    To use the JAAS APIs, expand the JaasDocs.jar file, which is in the docs\jaas subdirectory of the directory where you installed the Developer Kit or the Runtime Environment. By default, this is the C:\Program Files\Java131 directory. The files that are extracted contain the following information:

    api.html JAAS API reference guide
    module.html Authentication module reference guide
    apidocs\index.html JAAS API information generated by javadoc

    What has been added on Windows?

    The IBM version of JAAS for Windows contains an additional function called Active Login. Because Windows has an extensive security infrastructure, it is important on servers to allow a Java program to log in as a particular Windows user and run with the underlying operating system knowing the security identity on a particular thread. Without this extended support, JAAS would allow Java programs to know who the user is, strictly on a Java level. With this extended support, Java programs can log in as different users and have even non-Java programs (such as the Windows kernel) enforce security appropriately.

    The following classes contain the additional support:

    These classes are described in the JAAS APIs.


    Using JAAS Active Login

    To log in on Windows, an authorized program is required. The bin subdirectory of the directory where the Runtime Environment is installed contains a Windows service that can log in. To install the service and start it:

    1. Log in as an Administrator on the computer where you want to install and start the service.
    2. Change directories to the bin directory.
    3. Type either of the following commands at a command prompt:

    The _g version of the service is for debugging, and writes extensive output to the Application Event Log. To capture the most recent information, set this log to wrap, rather than fill up and stop.

    To stop the service and remove it from the Service Manager autostart list:

    1. Change directories to the bin directory.
    2. Type either of the following commands at a command prompt:


    Notices

    This information was developed for products and services offered in the U.S.A.

    IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the users responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

    IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

    For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

    The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:

    INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

    This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the information. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this information at any time without notice.

    Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

    IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

    Licensees of this program who wish to have information about it for the purpose of enabling (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

    Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

    The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

    Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

    Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.


    Trademarks

    IBM is a trademark of International Business Machines Corporation in the U.S., or other countries, or both.

    Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. The Java technology is owned and exclusively licensed by Sun Microsystems, Inc.

    Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

    Other company, product, and service names may be trademarks or service marks of others.