do the seal and unsealing
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@3627 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -83,6 +83,7 @@ hdb_entry2value(krb5_context context, hdb_entry *ent, krb5_data *value)
|
|||||||
unsigned char *buf;
|
unsigned char *buf;
|
||||||
size_t len;
|
size_t len;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
len = length_hdb_entry(ent);
|
len = length_hdb_entry(ent);
|
||||||
buf = malloc(len);
|
buf = malloc(len);
|
||||||
if(buf == NULL)
|
if(buf == NULL)
|
||||||
@@ -116,6 +117,8 @@ _hdb_fetch(krb5_context context, HDB *db, hdb_entry *entry)
|
|||||||
if(code)
|
if(code)
|
||||||
return code;
|
return code;
|
||||||
hdb_value2entry(context, &value, entry);
|
hdb_value2entry(context, &value, entry);
|
||||||
|
if (db->master_key_set)
|
||||||
|
hdb_unseal_keys (entry, db->master_key);
|
||||||
krb5_data_free(&value);
|
krb5_data_free(&value);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -127,6 +130,8 @@ _hdb_store(krb5_context context, HDB *db, int replace, hdb_entry *entry)
|
|||||||
int code;
|
int code;
|
||||||
|
|
||||||
hdb_principal2key(context, entry->principal, &key);
|
hdb_principal2key(context, entry->principal, &key);
|
||||||
|
if (db->master_key_set)
|
||||||
|
hdb_seal_keys(entry, db->master_key);
|
||||||
hdb_entry2value(context, entry, &value);
|
hdb_entry2value(context, entry, &value);
|
||||||
code = db->_put(context, db, replace, key, value);
|
code = db->_put(context, db, replace, key, value);
|
||||||
krb5_data_free(&value);
|
krb5_data_free(&value);
|
||||||
|
Reference in New Issue
Block a user