diff options
| author | Paul Park <pjpark@mit.edu> | 1995-08-09 21:25:23 +0000 |
|---|---|---|
| committer | Paul Park <pjpark@mit.edu> | 1995-08-09 21:25:23 +0000 |
| commit | 2112e946095b18056fc8a126eee72c43939d845b (patch) | |
| tree | 4f83fb1089764cc92ccb27e4829a6d011debc1b5 /src/kadmin/v5server | |
| parent | f45a85530e0e807b33f9b01a7f835bf428df9447 (diff) | |
| download | krb5-2112e946095b18056fc8a126eee72c43939d845b.tar.gz krb5-2112e946095b18056fc8a126eee72c43939d845b.tar.xz krb5-2112e946095b18056fc8a126eee72c43939d845b.zip | |
Add krb5_use_keytype for each keytype
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6487 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/v5server')
| -rw-r--r-- | src/kadmin/v5server/srv_key.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/kadmin/v5server/srv_key.c b/src/kadmin/v5server/srv_key.c index c09a19090..5a60462a7 100644 --- a/src/kadmin/v5server/srv_key.c +++ b/src/kadmin/v5server/srv_key.c @@ -649,6 +649,7 @@ key_string2key_keysalt(ksent, ptr) * Determine if this key/salt pair is salted. */ salted = 0; + krb5_use_keytype(argp->context, &master_encblock, ksent->ks_keytype); if (!key_name_to_data(argp->dbentry, ksent, -1, &kdata)) { if (kdata->key_data_length[1] && kdata->key_data_contents[1]) salted = 1; @@ -833,6 +834,7 @@ key_randomkey_keysalt(ksent, ptr) argp = (struct keysalt_iterate_args *) ptr; kret = 0; + krb5_use_keytype(argp->context, &master_encblock, ksent->ks_keytype); if (key_name_to_data(argp->dbentry, ksent, -1, &kdata)) { /* * Cannot find a name-to-data matching, so we must have to create a @@ -953,6 +955,9 @@ key_encrypt_keys(kcontext, dbentp, nkeysp, inkeys, outkeysp) ndone = 0; nkeys = *nkeysp; for (i=0; i<nkeys; i++) { + krb5_use_keytype(kcontext, + &master_encblock, + (krb5_keytype) inkeys[i].key_data_type[0]); if (!(kret = krb5_dbe_create_key_data(kcontext, &loser))) { tmpkey.keytype = inkeys[i].key_data_type[0]; tmpkey.length = inkeys[i].key_data_length[0]; @@ -1026,6 +1031,9 @@ key_decrypt_keys(kcontext, dbentp, nkeysp, inkeys, outkeysp) ndone = 0; nkeys = *nkeysp; for (i=0; i<nkeys; i++) { + krb5_use_keytype(kcontext, + &master_encblock, + (krb5_keytype) inkeys[i].key_data_type[0]); if (!(kret = krb5_dbe_create_key_data(kcontext, &loser))) { if (kret = krb5_dbekd_decrypt_key_data(kcontext, &master_encblock, @@ -1139,6 +1147,15 @@ key_admin_key() } /* + * key_master_encblock() - Return pointer to master encryption block. + */ +krb5_encrypt_block * +key_master_encblock() +{ + return((mencb_init) ? &master_encblock : (krb5_encrypt_block *) NULL); +} + +/* * key_free_key_data() - Free a krb5_key_data array. */ void |
