diff options
| author | John Kohl <jtkohl@mit.edu> | 1990-02-13 16:43:55 +0000 |
|---|---|---|
| committer | John Kohl <jtkohl@mit.edu> | 1990-02-13 16:43:55 +0000 |
| commit | fb853c66b15ba7b0ec6315a15a40a9305d61326a (patch) | |
| tree | 4b84e38da5aebd5b44e9b490f78687b26e23ff3c /src/admin | |
| parent | 6bcad8583d03200c94d60727fe05ea0118a419fa (diff) | |
use 'k' for Keytype
fix indenting
clean up some of the messages
encrypt the random key as well!
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@354 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/admin')
| -rw-r--r-- | src/admin/create/kdb5_create.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/admin/create/kdb5_create.c b/src/admin/create/kdb5_create.c index 569744e14..aaf79f873 100644 --- a/src/admin/create/kdb5_create.c +++ b/src/admin/create/kdb5_create.c @@ -23,7 +23,7 @@ static char rcsid_kdb_create_c[] = #include <krb5/kdb5_err.h> #include <krb5/isode_err.h> #include <stdio.h> -#include <krb5/libos-proto.h> +#include <krb5/asn1.h> #include <com_err.h> #include <errno.h> @@ -73,7 +73,8 @@ usage(who, status) char *who; int status; { - fprintf(stderr, "usage: %s [-n dbname] [-r realmname] [-t keytype] [-e etype]\n", + fprintf(stderr, "usage: %s [-n dbname] [-r realmname] [-k keytype]\n\ +\t[-e etype] [-M mkeyname]\n", who); exit(status); } @@ -124,7 +125,7 @@ char *argv[]; initialize_kdb5_error_table(); initialize_isod_error_table(); - while ((optchar = getopt(argc, argv, "n:r:t:M:e:")) != EOF) { + while ((optchar = getopt(argc, argv, "n:r:k:M:e:")) != EOF) { switch(optchar) { case 'n': /* set db name */ dbname = optarg; @@ -132,7 +133,7 @@ char *argv[]; case 'r': realm = optarg; break; - case 't': + case 'k': master_keyblock.keytype = atoi(optarg); keytypedone++; break; @@ -204,7 +205,8 @@ char *argv[]; tgt_princ[0]->data = realm; tgt_princ[0]->length = strlen(realm); - printf("Initializing database '%s' for realm '%s', master key name '%s'\n", + printf("Initializing database '%s' for realm '%s',\n\ +master key name '%s'\n", dbname, realm, mkey_fullname); printf("You will be prompted for the database Master Password.\n"); @@ -218,14 +220,14 @@ char *argv[]; exit(1); } if (retval = (*csentry->process_key)(&master_encblock, - &master_keyblock)) { + &master_keyblock)) { com_err(argv[0], retval, "while processing master key"); exit(1); } rblock.eblock = &master_encblock; if (retval = (*csentry->init_random_key)(&master_keyblock, - &rblock.rseed)) { + &rblock.rseed)) { com_err(argv[0], retval, "while initializing random key generator"); (void) (*csentry->finish_key)(&master_encblock); exit(1); @@ -233,7 +235,8 @@ char *argv[]; if (retval = krb5_db_init()) { (void) (*csentry->finish_key)(&master_encblock); (void) (*csentry->finish_random_key)(&rblock.rseed); - com_err(argv[0], retval, "while initializing the database"); + com_err(argv[0], retval, "while initializing the database '%s'", + dbname); exit(1); } @@ -289,8 +292,10 @@ struct realm_info *pblock; if (retval = (*pblock->eblock->crypto_entry->random_key)(pblock->rseed, &rkey)) return retval; - ekey = *rkey; - free((char *)rkey); + retval = krb5_kdb_encrypt_key(pblock->eblock, rkey, &ekey); + krb5_free_keyblock(rkey); + if (retval) + return retval; break; case NULL_KEY: return EOPNOTSUPP; |
