git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14115 ec53bebd-3082-4978-b11e-865c3cabbd6b
		
			
				
	
	
		
			166 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" Copyright (c) 2004 Kungliga Tekniska Högskolan
 | 
						|
.\" (Royal Institute of Technology, Stockholm, Sweden).
 | 
						|
.\" All rights reserved.
 | 
						|
.\"
 | 
						|
.\" Redistribution and use in source and binary forms, with or without
 | 
						|
.\" modification, are permitted provided that the following conditions
 | 
						|
.\" are met:
 | 
						|
.\"
 | 
						|
.\" 1. Redistributions of source code must retain the above copyright
 | 
						|
.\"    notice, this list of conditions and the following disclaimer.
 | 
						|
.\"
 | 
						|
.\" 2. Redistributions in binary form must reproduce the above copyright
 | 
						|
.\"    notice, this list of conditions and the following disclaimer in the
 | 
						|
.\"    documentation and/or other materials provided with the distribution.
 | 
						|
.\"
 | 
						|
.\" 3. Neither the name of the Institute nor the names of its contributors
 | 
						|
.\"    may be used to endorse or promote products derived from this software
 | 
						|
.\"    without specific prior written permission.
 | 
						|
.\"
 | 
						|
.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
 | 
						|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
						|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
						|
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
 | 
						|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | 
						|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | 
						|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | 
						|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | 
						|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | 
						|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | 
						|
.\" SUCH DAMAGE.
 | 
						|
.\"
 | 
						|
.\" $Id$
 | 
						|
.\"
 | 
						|
.Dd August 13, 2004
 | 
						|
.Dt KRB5_STRING_TO_KEY 3
 | 
						|
.Os HEIMDAL
 | 
						|
.Sh NAME
 | 
						|
.Nm krb5_string_to_key ,
 | 
						|
.Nm krb5_string_to_key_data ,
 | 
						|
.Nm krb5_string_to_key_data_salt ,
 | 
						|
.Nm krb5_string_to_key_data_salt_opaque ,
 | 
						|
.Nm krb5_string_to_key_derived ,
 | 
						|
.Nm krb5_string_to_key_salt ,
 | 
						|
.Nm krb5_string_to_key_salt_opaque ,
 | 
						|
.Nm krb5_get_pw_salt ,
 | 
						|
.Nm krb5_free_salt
 | 
						|
.Nd turns a string to to a Kerberos key
 | 
						|
.Sh LIBRARY
 | 
						|
Kerberos 5 Library (libkrb5, -lkrb5)
 | 
						|
.Sh SYNOPSIS
 | 
						|
.In krb5.h
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_string_to_key
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_enctype enctype"
 | 
						|
.Fa "const char *password"
 | 
						|
.Fa "krb5_principal principal"
 | 
						|
.Fa "krb5_keyblock *key"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_string_to_key_data
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_enctype enctype"
 | 
						|
.Fa "krb5_data password"
 | 
						|
.Fa "krb5_principal principal"
 | 
						|
.Fa "krb5_keyblock *key"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_string_to_key_data_salt
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_enctype enctype"
 | 
						|
.Fa "krb5_data password"
 | 
						|
.Fa "krb5_salt salt"
 | 
						|
.Fa "krb5_keyblock *key"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_string_to_key_data_salt_opaque
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_enctype enctype"
 | 
						|
.Fa "krb5_data password"
 | 
						|
.Fa "krb5_salt salt"
 | 
						|
.Fa "krb5_data opaque"
 | 
						|
.Fa "krb5_keyblock *key"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_string_to_key_salt
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_enctype enctype"
 | 
						|
.Fa "const char *password"
 | 
						|
.Fa "krb5_salt salt"
 | 
						|
.Fa "krb5_keyblock *key"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_string_to_key_salt_opaque
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_enctype enctype"
 | 
						|
.Fa "const char *password"
 | 
						|
.Fa "krb5_salt salt"
 | 
						|
.Fa "krb5_data opaque"
 | 
						|
.Fa "krb5_keyblock *key"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_get_pw_salt
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_const_principal principal"
 | 
						|
.Fa "krb5_salt *salt"
 | 
						|
.Fc
 | 
						|
.Ft krb5_error_code
 | 
						|
.Fo krb5_free_salt
 | 
						|
.Fa "krb5_context context"
 | 
						|
.Fa "krb5_salt salt"
 | 
						|
.Fc
 | 
						|
.Sh DESCRIPTION
 | 
						|
The string to key functions convert a string to a kerberos key.
 | 
						|
.Pp
 | 
						|
.Fn krb5_string_to_key_data_salt_opaque
 | 
						|
is the function that does all the work, the rest of the functions are
 | 
						|
just wrapers around
 | 
						|
.Fn krb5_string_to_key_data_salt_opaque
 | 
						|
that calls it with default values.
 | 
						|
.Pp
 | 
						|
.Fn krb5_string_to_key_data_salt_opaque
 | 
						|
transforms the
 | 
						|
.Fa password
 | 
						|
with the given salt-string
 | 
						|
.Fa salt
 | 
						|
and the opaque, encryption type specific parameter
 | 
						|
.Fa opaque
 | 
						|
to a encryption key
 | 
						|
.Fa key
 | 
						|
according to the string to key function associated with
 | 
						|
.Fa enctype .
 | 
						|
.Pp
 | 
						|
The
 | 
						|
.Fa key
 | 
						|
should be freed with
 | 
						|
.Fn krb5_free_keyblock_contents .
 | 
						|
.Pp
 | 
						|
If one of the functions that doesn't take a
 | 
						|
.Li krb5_salt
 | 
						|
as it argument
 | 
						|
.Fn krb5_get_pw_salt
 | 
						|
is used to get the salt value.
 | 
						|
.Pp
 | 
						|
.Fn krb5_get_pw_salt
 | 
						|
get the default password salt for a principal, use
 | 
						|
.Fn krb5_free_salt
 | 
						|
to free the salt when done.
 | 
						|
.Pp
 | 
						|
.Fn krb5_free_salt
 | 
						|
frees the content of
 | 
						|
.Fa salt .
 | 
						|
.Pp
 | 
						|
.Fn krb5_string_to_key_derived
 | 
						|
is deprecated, see the BUGS section below.
 | 
						|
.Sh BUGS
 | 
						|
.Fn krb5_string_to_key_derived
 | 
						|
only works for
 | 
						|
.Dv ETYPE_DES3_CBC_SHA1 ,
 | 
						|
if you use on on some other enctypes, it will produce the wrong result.
 | 
						|
.Sh SEE ALSO
 | 
						|
.Xr krb5 3 ,
 | 
						|
.Xr krb5_data 3 ,
 | 
						|
.Xr krb5_keyblock 3 ,
 | 
						|
.Xr kerberos 8
 |