Skip Menu |
 

Subject: kadmind caches master key activation times
The master key activation times list is a tl-data value on the K/M entry
containing {kvno, time} tuples, and determines which master key is
considered "active" for the purpose of encrypting new keys.

kadmind reads this list at startup by calling
krb5_dbe_fetch_act_key_list, and stores it in a global variable
active_mkey_list. This value is never updated during the lifetime of
the kadmind process. As a result, kdb5_util use_mkey operations will
not affect a running kadmind process. This appears to have been
considered in the project page, but is not documented in the kdb5_util
man page.

We can either document this or fix it. Fixing it means looking up the
K/M DB entry for every key change operation
(cprinc/chpass/chrand/setkey), which is probably not a big deal. We
already do that for the history key for chpass, which is the most common
key change operation, and if we ever implement #1221 we could collapse
those into one lookup (for new databases).
From: ghudson@mit.edu
Subject: git commit

Reload master keys to find active mkey if needed

Refactor krb5_dbe_find_act_mkey and make it reload the master key list
if it doesn't find a master key matching the active mkvno.

https://github.com/krb5/krb5/commit/f9d6353922393936ab7125d1f04e577857909a99
Author: Greg Hudson <ghudson@mit.edu>
Commit: f9d6353922393936ab7125d1f04e577857909a99
Branch: master
src/lib/kdb/kdb5.c | 113 ++++++++++++++++++++++++----------------------------
1 files changed, 52 insertions(+), 61 deletions(-)
From: ghudson@mit.edu
Subject: git commit

Don't cache active master key list in kadmind

"kdb5_util use_mkey" should not require a kadmind restart to take
effect. At the cost of fetching the K/M principal once for each key
change operation, make kadmind use the current active master key list
for each operation.

https://github.com/krb5/krb5/commit/74c1420ea4dffc1105247e362decf608440751ae
Author: Greg Hudson <ghudson@mit.edu>
Commit: 74c1420ea4dffc1105247e362decf608440751ae
Branch: master
src/lib/kadm5/server_internal.h | 3 +++
src/lib/kadm5/srv/server_kdb.c | 25 ++++++++++++++++++-------
src/lib/kadm5/srv/svr_principal.c | 16 +++++-----------
3 files changed, 26 insertions(+), 18 deletions(-)
From: tlyu@mit.edu
Subject: git commit

Reload master keys to find active mkey if needed

Refactor krb5_dbe_find_act_mkey and make it reload the master key list
if it doesn't find a master key matching the active mkvno.

(cherry picked from commit f9d6353922393936ab7125d1f04e577857909a99)

https://github.com/krb5/krb5/commit/95d2d148acda7e718dfa0be117a0b15302572982
Author: Greg Hudson <ghudson@mit.edu>
Committer: Tom Yu <tlyu@mit.edu>
Commit: 95d2d148acda7e718dfa0be117a0b15302572982
Branch: krb5-1.12
src/lib/kdb/kdb5.c | 113 ++++++++++++++++++++++++----------------------------
1 files changed, 52 insertions(+), 61 deletions(-)
From: tlyu@mit.edu
Subject: git commit

Don't cache active master key list in kadmind

"kdb5_util use_mkey" should not require a kadmind restart to take
effect. At the cost of fetching the K/M principal once for each key
change operation, make kadmind use the current active master key list
for each operation.

(cherry picked from commit 74c1420ea4dffc1105247e362decf608440751ae)

https://github.com/krb5/krb5/commit/ebc456e2b945a2b86846ef45dde0be4e100e7c86
Author: Greg Hudson <ghudson@mit.edu>
Committer: Tom Yu <tlyu@mit.edu>
Commit: ebc456e2b945a2b86846ef45dde0be4e100e7c86
Branch: krb5-1.12
src/lib/kadm5/server_internal.h | 3 +++
src/lib/kadm5/srv/server_kdb.c | 25 ++++++++++++++++++-------
src/lib/kadm5/srv/svr_principal.c | 16 +++++-----------
3 files changed, 26 insertions(+), 18 deletions(-)