implmenet `krb5_string_to_key_data'
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2504 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -126,8 +126,9 @@ init (unsigned char *a, unsigned char *b)
|
|||||||
a[7] = b[7] << 1;
|
a[7] = b[7] << 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
krb5_error_code
|
static krb5_error_code
|
||||||
krb5_string_to_key (char *str,
|
string_to_key_internal (char *str,
|
||||||
|
size_t str_len,
|
||||||
krb5_data *salt,
|
krb5_data *salt,
|
||||||
krb5_keyblock *key)
|
krb5_keyblock *key)
|
||||||
{
|
{
|
||||||
@@ -138,7 +139,7 @@ krb5_string_to_key (char *str,
|
|||||||
des_key_schedule sched;
|
des_key_schedule sched;
|
||||||
krb5_error_code err;
|
krb5_error_code err;
|
||||||
|
|
||||||
len = strlen(str) + salt->length;
|
len = str_len + salt->length;
|
||||||
#if 1
|
#if 1
|
||||||
len = (len + 7) / 8 * 8;
|
len = (len + 7) / 8 * 8;
|
||||||
#endif
|
#endif
|
||||||
@@ -151,8 +152,8 @@ krb5_string_to_key (char *str,
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
memset (s, 0, len);
|
memset (s, 0, len);
|
||||||
strncpy (p, str, strlen(str));
|
strncpy (p, str, str_len);
|
||||||
p += strlen(str);
|
p += str_len;
|
||||||
memcpy (p, salt->data, salt->length);
|
memcpy (p, salt->data, salt->length);
|
||||||
odd = 1;
|
odd = 1;
|
||||||
memset (tempkey, 0, sizeof(tempkey));
|
memset (tempkey, 0, sizeof(tempkey));
|
||||||
@@ -182,6 +183,22 @@ krb5_string_to_key (char *str,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
krb5_error_code
|
||||||
|
krb5_string_to_key (char *str,
|
||||||
|
krb5_data *salt,
|
||||||
|
krb5_keyblock *key)
|
||||||
|
{
|
||||||
|
return string_to_key_internal (str, strlen(str), salt, key);
|
||||||
|
}
|
||||||
|
|
||||||
|
krb5_error_code
|
||||||
|
krb5_string_to_key_data (krb5_data *str,
|
||||||
|
krb5_data *salt,
|
||||||
|
krb5_keyblock *key)
|
||||||
|
{
|
||||||
|
return string_to_key_internal (str->data, str->length, salt, key);
|
||||||
|
}
|
||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
krb5_get_salt (krb5_principal princ,
|
krb5_get_salt (krb5_principal princ,
|
||||||
krb5_data *salt)
|
krb5_data *salt)
|
||||||
|
Reference in New Issue
Block a user