91 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/***********************************************************************
 | 
						|
 * 
 | 
						|
 *  Copyright (C) 2006 Novell, Inc. All Rights Reserved.
 | 
						|
 *
 | 
						|
 *  This library is free software; you can redistribute it and/or
 | 
						|
 *  modify it under the terms of the GNU Lesser General Public
 | 
						|
 *  License as published by the Free Software Foundation; version 2.1
 | 
						|
 *  of the License.
 | 
						|
 *
 | 
						|
 *  This library is distributed in the hope that it will be useful,
 | 
						|
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
 *  Library Lesser General Public License for more details.
 | 
						|
 *
 | 
						|
 *  You should have received a copy of the GNU Lesser General Public
 | 
						|
 *  License along with this library; if not, Novell, Inc.
 | 
						|
 * 
 | 
						|
 *  To contact Novell about this file by physical or electronic mail, 
 | 
						|
 *  you may find current contact information at www.novell.com.
 | 
						|
 * 
 | 
						|
 *  Author: Juan Carlos Luciani <jluciani@novell.com>
 | 
						|
 *
 | 
						|
 ***********************************************************************/
 | 
						|
/***********************************************************************
 | 
						|
 *
 | 
						|
 *  README for libcasa_c_authtoken
 | 
						|
 *
 | 
						|
 ***********************************************************************/
 | 
						|
 | 
						|
INTRODUCTION
 | 
						|
 | 
						|
libcasa_c_authtoken is the client auth_token engine. It is responsible for
 | 
						|
interacting with ATSs, invoking the authentication mechanism plug-ins, and
 | 
						|
managing the authentication token cache. libcasa_c_authtoken also provides
 | 
						|
the Get Authentication Token API.
 | 
						|
 | 
						|
CONFIGURING ADDITIONAL AUTHENTICATION MECHANISM MODULES
 | 
						|
 | 
						|
libcasa_c_authtoken utilizes mechanism plug-ins for authenticating to ATSs.
 | 
						|
The client auth_token package installs mechanisms for the support of Kerberos5
 | 
						|
and Username/Password authentication. To configure additional authentication mechanism
 | 
						|
plug-ins, place their configuration file in the folder for CASA Authentication Token module
 | 
						|
configuration. The path to this folder under linux is /etc/CASA/authtoken.d/client.d/mechanisms.d/.
 | 
						|
The path to this folder under Windows is \Program Files\novell\CASA\Etc\Auth\Mechanisms\. The name of
 | 
						|
the plug-in configuration file is related to the authentication mechanism type in the following
 | 
						|
manner: AuthenticationMechanismTypeName.conf.
 | 
						|
 | 
						|
Authentication Mechanism plug-in configuration files must must contain a directive indicating the
 | 
						|
path to the library implementing the Authentication Mechanism (See the configuration file
 | 
						|
for the Kr5Authenticate plug-in for an example).
 | 
						|
 | 
						|
CLIENT APPLICATION PROGRAMMING NOTES
 | 
						|
 | 
						|
The Get CASA Authentication Token API is defined in casa_c_authtoken.h.
 | 
						|
 | 
						|
The API consists of a call to obtain authentication tokens. The caller must supply the name of the
 | 
						|
service to which it wants to authenticate along with the name of the host where it resides. The
 | 
						|
returned authentication token is a Base64 encoded string.
 | 
						|
 | 
						|
Applications utilizing CASA Authentication Tokens as passwords in protocols that require the
 | 
						|
transfer of user name and password credentials should verify or remove any password length limits
 | 
						|
as the length of CASA Authentication Tokens may be over 1K bytes. The size of the CASA Authentication
 | 
						|
Tokens is directly dependent on the amount of identity information configured as required by the
 | 
						|
consuming service. These applications should also set the user name to "CasaPrincipal".
 | 
						|
 | 
						|
For examples of code which uses the Get CASA Authentication Token API look at the test application
 | 
						|
under the test folder.
 | 
						|
 | 
						|
AUTHENTICATION MECHANISM PROGRAMMING NOTES
 | 
						|
 | 
						|
The Authentication Mechanism API is defined in mech_if.h.
 | 
						|
 | 
						|
For example implementations see the code for the krb5 and the pwd mechanisms.
 | 
						|
 | 
						|
SECURITY CONSIDERATIONS
 | 
						|
 | 
						|
CASA Authentication Tokens when compromised can be used to either impersonate
 | 
						|
a user or to obtain identity information about the user. Because of this it is
 | 
						|
important that the tokens be secured by applications making use of them. It is
 | 
						|
recommended that the tokens be transmitted using SSL.
 | 
						|
 
 | 
						|
 | 
						|
 | 
						|
 | 
						|
                
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |