(krb5_derive_key): new function, used by derived-key-test.c
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@9744 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
		| @@ -2665,7 +2665,7 @@ static krb5_error_code | ||||
| derive_key(krb5_context context, | ||||
| 	   struct encryption_type *et, | ||||
| 	   struct key_data *key, | ||||
| 	   void *constant, | ||||
| 	   const void *constant, | ||||
| 	   size_t len) | ||||
| { | ||||
|     unsigned char *k; | ||||
| @@ -2737,6 +2737,35 @@ _new_derived_key(krb5_crypto crypto, unsigned usage) | ||||
|     return &d->key; | ||||
| } | ||||
|  | ||||
| krb5_error_code | ||||
| krb5_derive_key(krb5_context context, | ||||
| 		const krb5_keyblock *key, | ||||
| 		krb5_enctype etype, | ||||
| 		const void *constant, | ||||
| 		size_t constant_len, | ||||
| 		krb5_keyblock **derived_key) | ||||
| { | ||||
|     krb5_error_code ret; | ||||
|     struct encryption_type *et; | ||||
|     struct key_data d; | ||||
|  | ||||
|     et = _find_enctype (etype); | ||||
|     if (et == NULL) | ||||
| 	return KRB5_PROG_ETYPE_NOSUPP; | ||||
|  | ||||
|     ret = krb5_copy_keyblock(context, key, derived_key); | ||||
|     if (ret) | ||||
| 	return ret; | ||||
|  | ||||
|     d.key = *derived_key; | ||||
|     d.schedule = NULL; | ||||
|     ret = derive_key(context, et, &d, constant, constant_len); | ||||
|     if (ret) | ||||
| 	return ret; | ||||
|     ret = krb5_copy_keyblock(context, d.key, derived_key); | ||||
|     return ret; | ||||
| } | ||||
|  | ||||
| static krb5_error_code | ||||
| _get_derived_key(krb5_context context,  | ||||
| 		 krb5_crypto crypto,  | ||||
| @@ -2765,7 +2794,7 @@ _get_derived_key(krb5_context context, | ||||
|  | ||||
| krb5_error_code | ||||
| krb5_crypto_init(krb5_context context, | ||||
| 		 krb5_keyblock *key, | ||||
| 		 const krb5_keyblock *key, | ||||
| 		 krb5_enctype etype, | ||||
| 		 krb5_crypto *crypto) | ||||
| { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Assar Westerlund
					Assar Westerlund