new {seal,unseal}_keys functions
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3367 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -150,6 +150,7 @@ hdb_unseal_key(Key *key, krb5_data schedule)
|
|||||||
return new_key;
|
return new_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* is it useful to have this public? */
|
||||||
void
|
void
|
||||||
hdb_seal_key(Key *key, krb5_data schedule)
|
hdb_seal_key(Key *key, krb5_data schedule)
|
||||||
{
|
{
|
||||||
@@ -163,6 +164,29 @@ hdb_seal_key(Key *key, krb5_data schedule)
|
|||||||
schedule.data, &iv, &num, 1);
|
schedule.data, &iv, &num, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
hdb_unseal_keys(hdb_entry *ent, krb5_data schedule)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i = 0; i < ent->keys.len; i++){
|
||||||
|
des_cblock iv;
|
||||||
|
int num = 0;
|
||||||
|
memset(&iv, 0, sizeof(iv));
|
||||||
|
des_cfb64_encrypt(ent->keys.val[i].key.keyvalue.data,
|
||||||
|
ent->keys.val[i].key.keyvalue.data,
|
||||||
|
ent->keys.val[i].key.keyvalue.length,
|
||||||
|
schedule.data, &iv, &num, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
hdb_seal_keys(hdb_entry *ent, krb5_data schedule)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for(i = 0; i < ent->keys.len; i++)
|
||||||
|
hdb_seal_key(&ent->keys.val[i], schedule);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
hdb_free_key(Key *key)
|
hdb_free_key(Key *key)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user