MIT Information Systems

Macintosh Development

[Home] [About Us] [People] [Information Systems]
[Kerberos for Macintosh] [Applications] [Miscellaneous Documentation]

Kerberos Library
About the Kerberos Library

The Kerberos Library is a CFM shared library for Mac OS 8 & 9 (a CFM compatibility "bridge library" with shims into the Kerberos.framework is provided on Mac OS X). It provides the Kerberos v4 and v5 protocols, GSSAPI, KClient and related libraries for Kerberos ticket management. The library components are separated into CFM fragments, each of which has its own SDK to build and link against. Individual components are listed below:

Component Documentation
ComErrLib A library implementing the com_err API.
CCacheLib An implementation of the Credentials Cache API v2 and v3.
DESLib A DES and 3DES implementation.
GSSLib A library implementing the GSS API.
KClient The KClient 3.0 implementation.
Kerberos4Lib The MIT Kerberos v4 implementation.
Kerberos5Lib The MIT Kerberos v5 implementation.
KerberosManagerLib A library for communicating with the Kerberos control panel via Apple Events.
KerberosProfileLib A library used to obtain configuration information from the Kerberos Preferences file.
KerberosLoginLib A GUI interface for acquiring tickets and changing passwords.
PreferencesLib An API for accessing the Kerberos Preferences file.
TicketKeeperLib A library for communicating with the Ticket Keeper application extension via AppleEvents.
KerberosWrappersLib A C++ interface to Kerberos v4 and v5 principal, profile and ccache manipulation.
Principal Translation Plugin API API for designing realm-specific KerberosLogin principal translation plugins.
Using Kerberos Library

In order to use Kerberos Library in an application or a shared library, you need to determine which parts of Kerberos Library you need to use. You should always link your application against the component libraries of Kerberos Library that your application needs, not against Kerberos Library itself.

Each library in Kerberos Library has four different versions: non-debugging and debugging PPC CFM versions, and non-debugging and debugging Carbon versions. You should add the appropriate version of each library that you use to the targets for different versions of your application.

Once you've linked against the appropriate libraries, you need to include the appropriate header files in your sources. MITKerberos:Common:Headers must be in your system search paths, and you must setup your project to interpret UNIX paths. In CodeWarrior IDE, this is a setting in your access paths panel, "Interpret DOS/UNIX paths".

In order to run your application, you will also have to have Kerberos Library in your CFM search path. The best way to deal with this is to keep Kerberos Library and Kerberos Library.debug in your Application Support folder (under MacOS 8.6 and newer) or your Extensions folder (Mac OS 8.5 and older). Note that Kerberos Library depends on Kerberos Support Library so you will have to install that as well.

All parts of Kerberos Library should be weakly linked into your application, and you should perform runtime checks for presence of the parts that you use. Most of the component libraries of Kerberos Library contain _IsFooLibPresent() macros in their headers to determine if the library is loaded at runtime.

Getting Kerberos Library

You can get the latest release of the Kerberos Library here.

Please read the Kerberos Library Version History for information on the latest release of Kerberos Library.

Questions or comments? Send mail to
Last updated on $Date: 2003/11/19 20:42:34 $
Last modified by $Author: smcguire $