diff options
| author | John Kohl <jtkohl@mit.edu> | 1990-02-03 17:06:46 +0000 |
|---|---|---|
| committer | John Kohl <jtkohl@mit.edu> | 1990-02-03 17:06:46 +0000 |
| commit | 2aaf6dcbb4827a59f4aaaaed524606b9d3cd0943 (patch) | |
| tree | 230c34588edc8f89c456804c1f767e3e15567c4b /src/lib | |
| parent | 372f6bedc6ff4f3b2c8306e7349055ce845a7556 (diff) | |
| download | krb5-2aaf6dcbb4827a59f4aaaaed524606b9d3cd0943.tar.gz krb5-2aaf6dcbb4827a59f4aaaaed524606b9d3cd0943.tar.xz krb5-2aaf6dcbb4827a59f4aaaaed524606b9d3cd0943.zip | |
*** empty log message ***
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@249 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/kdb/encrypt_key.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/lib/kdb/encrypt_key.c b/src/lib/kdb/encrypt_key.c new file mode 100644 index 000000000..59a290938 --- /dev/null +++ b/src/lib/kdb/encrypt_key.c @@ -0,0 +1,59 @@ +/* + * $Source$ + * $Author$ + * + * Copyright 1990 by the Massachusetts Institute of Technology. + * + * For copying and distribution information, please see the file + * <krb5/mit-copyright.h>. + * + * krb5_kdb_encrypt_key(), krb5_kdb_decrypt_key functions + */ + +#if !defined(lint) && !defined(SABER) +static char rcsid_encrypt_key_c [] = +"$Id$"; +#endif /* !lint & !SABER */ + +#include <krb5/copyright.h> +#include <krb5/krb5.h> +#include <krb5/ext-proto.h> +#include <errno.h> + +krb5_error_code +krb5_kdb_encrypt_key(in, out, eblock) +krb5_keyblock *in; +krb5_keyblock *out; +krb5_encrypt_block *eblock; +{ + *out = *in; + out->length = krb5_encrypt_size(in->length, eblock->crypto_entry); + out->contents = (krb5_octet *)malloc(out->length); + if (!out->contents) { + out->contents = 0; + out->length = 0; + return ENOMEM; + } + return (*eblock->crypto_entry->encrypt_func)((krb5_pointer) in->contents, + (krb5_pointer) out->contents, + in->length, eblock); +} + +krb5_error_code +krb5_kdb_decrypt_key(in, out, eblock) +krb5_keyblock *in; +krb5_keyblock *out; +krb5_encrypt_block *eblock; +{ + *out = *in; + out->length = krb5_encrypt_size(in->length, eblock->crypto_entry); + out->contents = (krb5_octet *)malloc(out->length); + if (!out->contents) { + out->contents = 0; + out->length = 0; + return ENOMEM; + } + return (*eblock->crypto_entry->decrypt_func)((krb5_pointer) in->contents, + (krb5_pointer) out->contents, + in->length, eblock); +} |
