From 465ea9116d1f9467814143ed35b515034a849e86 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 5 Jun 2024 10:00:38 +0200 Subject: gpg: Autoload designated revoker key and ADSK when needed. * g10/options.h (opt): Move the definition of struct akl to global scope. * g10/keydb.h (enum get_pubkey_modes): Add GET_PUBKEY_TRY_LDAP. * g10/getkey.c (get_pubkey_byname): Implement GET_PUBKEY_BYNAME. * g10/keygen.c (prepare_desig_revoker): Use it here. (prepare_adsk): and here. -- The revoker key is required before we create it along with a new key. This is because the we need to know the algo and also to make sure that the key really exists. GnuPG-bug-id: 7133 --- g10/keygen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'g10/keygen.c') diff --git a/g10/keygen.c b/g10/keygen.c index 5908a09d0..0846a9e2f 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4504,7 +4504,7 @@ prepare_desig_revoker (ctrl_t ctrl, const char *name) revoker_pk = xcalloc (1, sizeof *revoker_pk); revoker_pk->req_usage = PUBKEY_USAGE_CERT; - err = get_pubkey_byname (ctrl, GET_PUBKEY_NO_AKL, + err = get_pubkey_byname (ctrl, GET_PUBKEY_TRY_LDAP, NULL, revoker_pk, name, NULL, NULL, 1); if (err) goto leave; @@ -4565,7 +4565,7 @@ prepare_adsk (ctrl_t ctrl, const char *name) adsk_pk = xcalloc (1, sizeof *adsk_pk); adsk_pk->req_usage = PUBKEY_USAGE_ENC; - err = get_pubkey_byname (ctrl, GET_PUBKEY_NO_AKL, + err = get_pubkey_byname (ctrl, GET_PUBKEY_TRY_LDAP, NULL, adsk_pk, name, NULL, NULL, 1); if (err) goto leave; -- cgit v1.2.3