Quest Software Inc.
Cart | How to Buy | Login | White Papers | Downloads | Search

Vintela Single Sign-on for Java Home > Products > Vintela Single Sign-on for Java > Java Kerberos Library

Print Page

Request a Quote Email Page
Overview
Features and Benefits
Document Library
Webcasts and Events
Download

Java Kerberos Library

Kerberos Authentication for J2EE Applications

If you're looking to develop your own applications and require a Java Kerberos library, you can leverage the one included in Vintela Single Sign-on for Java. Vintela Single Sign-on for Java's Java Kerberos library provides the functionality necessary to deliver single sign-on for Active Directory and other Kerberos environments and supports Java / Microsoft interoperability.

Vintela Single Sign-on for Java's Java Kerberos library is a pure Java implementation of the Kerberos protocol and allows developers to integrate Kerberos functionality for authentication and single sign-on with Microsoft's Active Directory and MIT Kerberos servers into their applications. The Java Kerberos library provides an API for Kerberos ticket requests, a Java binding of the GSS-API implementation, and user-to-service and user-to-user Kerberos authentication mechanisms. The library includes full API documentation and examples.

How Is Vintela Single Sign-on for Java's Java Kerberos Library Different from Sun's Implementation?

The library works on all versions of JDK from 1.2.2 onwards and provides a number of advantages over Sun's implementation in JDK 1.4 including:

Feature Sun Vintela Single Sign-on for Java
JDK Support JDK 1.4 and above only. Works on all versions of JDK from version 1.2.2 onwards.
API Support An implementation of JGSS using built-in JAAS LoginModules with little scope for extension. A 'raw' Kerberos API in addition to an implementation of JGSS. This allows customization of ticket requests (for example, to include alternative pre-authentication data when requesting a TGT).
Cryptographic Support DES only. DES, TripleDES (used in MIT Kerberos) and RC4® (used in Microsoft Windows 2000) Kerberos encryption types. Note: DES uses only 56 bit keys, which is not generally considered secure enough in today's environment.
Supported GSS-API Mechanisms User-to-service only. User-to-service and user-to-user.
Microsoft Windows 2000 Support Fails for users belonging to many groups due to large tickets (no support for TCP fallback). Supports Microsoft Windows 2000 'large tickets'.
Pre-authentication Support No pluggable support for pre-authentication. Flexible pre-authentication during initial authentication.
Password Management None. API for password changing and setting.
Access to Underlying Kerberos Information Generic GSSAPI support only. Has GSSAPI hooks into Kerberos functionality like inspection of peer tickets & setting of delegation options.
Support for Inter-realm Authentication No support. Supports cross-domain and cross-forest operation.
Discovery of KDCs Manually configured via system properties. Supports DNS discovery of KDCs specifically for use with Active Directory.

Key Features

Vintela Single Sign-on for Java's Java Kerberos Library Includes

Component Description
Support for Large-scale Directory Deployments with Active Directory Sites Vintela Single Sign-on for Java's Java Kerberos library supports large-scale Microsoft's Active Directory deployments through Active Directory sites, including support for replication, redundancy and load balancing.
Identity Federation with Cross-realm and Cross-forest Authentication Vintela Single Sign-on for Java's Java Kerberos library supports both cross-realm authentication with MIT and Microsoft Windows KDCs, and cross-forest authentication with Windows 2003. This support is provided transparently via the GSS-API.
Identity Integration with Active Directory

The Java Kerberos library provides additional features to enable tight integration with Active Directory with Windows 2000 and Windows Server 2003, including:

  • Support for Windows native credential cache
  • An API for administrator password resets with Active Directory accounts
  • DNS discovery of KDCs
Support for Kerberos-based Single Sign-on The Java Kerberos library provides the functionality necessary to deliver single sign-on for Active Directory and other Kerberos environments.
Standard Java GSS-API for Application-level Messaging The GSS-API standardized by the IETF RFC 1508 - Generic Security Service Application Programming Interface provides a high-level security, mechanism-independent, transport-neutral API to security services. Two GSS-API mechanisms (user-toservice and user-to-user) have been defined for Kerberos. GSS-API is the preferred API for Kerberizing applications.
Simplifed Integration with Java Applications In addition to the GSS-API, Vintela Single Sign-on for Java's Java Kerberos library supports the standard Java Authentication and Authorization Service (JAAS) API, and provides a login module allowing Java clients to use Kerberos for single sign-on.
Kerberos API for Credential and Password Management In addition to the standard JGSS and JAAS support, the Java Kerberos library also provides a custom Kerberos API that provides access to more Kerberos-specific functionality. Using this API allows you to do a number of things whic are not possible with JGSS and JAAS, for example, issuing custom ticket requests that use different pre-authentication data, changing passwords, or accessing authorization data.
Supports a Wide Range of Encryption Types and GSS-API Mechanisms Vintela Single Sign-on for Java's Java Kerberos library supports DES, TripleDES and RC4® at both Kerberos and GSS-API levels,
and supports both regular or user-to-service and user-to-user GSS-API mechanisms.

How Do I Download the Java Kerberos Library?

Download and unpack the Vintela Single Sign-on for Java zip distribution. The Kerberos Library jars are located in the lib directory. You will find a guide to the library in the jcsi/apidocs directory. Simply open index.html in your browser.

How Do I Install the Java Kerberos Library?

Once you have unpacked the Vintela Single Sign-on for Java distribution, add the jars to your CLASSPATH variable.

On Microsoft Windows, do the following:

set CLASSPATH=C:\Program Files\Quest Software\VSJ\lib\jcsi_license.jar
set CLASSPATH=%CLASSPATH%;C:\Program Files\Quest Software\VSJ\lib\jcsi_base.jar
set CLASSPATH=%CLASSPATH%;C:\Program Files\Quest Software\VSJ\lib\jcsi_jce.jar
set CLASSPATH=%CLASSPATH%;C:\Program Files\Quest Software\VSJ\lib\jcsi_krb_provider.jar
set CLASSPATH=%CLASSPATH%;C:\Program Files\Quest Software\VSJ\lib\jcsi_krb.jar
set CLASSPATH=%CLASSPATH%;C:\Program Files\Quest Software\VSJ\lib\jcsi_krb_jaas.jar
set CLASSPATH=%CLASSPATH%;C:\Program Files\Quest Software\VSJ\lib\commons-logging-1.0.3.jar

On Microsoft Windows you will also need to add the native winSSPI.dll to your java comand line. Doing this allows direct integration into the Windows Integrated Authentication mechanism:

C:\> java "-Djava.library.path=C:\Program Files\Quest Software\VSJ\lib"
your.class.here

On Unix or Linux you do not require the the winSSPI.dll. All you need to do is set the CLASSPATH as follows :

CLASSPATH="/opt/vsj/lib/jcsi_license.jar"   
CLASSPATH="${CLASSPATH}:/opt/vsj/lib/jcsi_base.jar"
CLASSPATH="${CLASSPATH}:/opt/vsj/lib/jcsi_jce.jar"
CLASSPATH="${CLASSPATH}:/opt/vsj/lib/jcsi_krb_provider.jar"
CLASSPATH="${CLASSPATH}:/opt/vsj/lib/jcsi_krb.jar"
CLASSPATH="${CLASSPATH}:/opt/vsj/lib/jcsi_krb_jaas.jar"
CLASSPATH="${CLASSPATH}:/opt/vsj/lib/commons-logging-1.0.3.jar"
export CLASSPATH
java your.class.here






Next Steps
Next Steps
View a product demo
Review the datasheet
Download white papers
Read a tech brief
Attend events
Listen to a podcast
Download

        © Quest Software, Inc. All rights