diff options
Diffstat (limited to 'g10/keyedit.c')
-rw-r--r-- | g10/keyedit.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/g10/keyedit.c b/g10/keyedit.c index 0ef891a8e..af0c241ef 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -2476,8 +2476,10 @@ menu_addrevoker( KBNODE pub_keyblock, KBNODE sec_keyblock, int sensitive ) goto fail; } + /* Note that I'm requesting SIG here and not CERT. We're making + a certification, but it is okay to be a subkey. */ + revoker_pk->req_usage=PUBKEY_USAGE_SIG; rc=get_pubkey_byname(revoker_pk,answer,NULL,NULL,1); - if(rc) { log_error (_("key `%s' not found: %s\n"),answer,g10_errstr(rc)); @@ -2485,13 +2487,6 @@ menu_addrevoker( KBNODE pub_keyblock, KBNODE sec_keyblock, int sensitive ) continue; } - if(!revoker_pk->is_primary) - { - log_error(_("cannot appoint a subkey as a designated revoker\n")); - m_free(answer); - continue; - } - m_free(answer); fingerprint_from_pk(revoker_pk,revkey.fpr,&fprlen); @@ -2517,7 +2512,7 @@ menu_addrevoker( KBNODE pub_keyblock, KBNODE sec_keyblock, int sensitive ) tty_printf("\npub %4u%c/%08lX %s ", nbits_from_pk( revoker_pk ), pubkey_letter( revoker_pk->pubkey_algo ), - (ulong)keyid[1], datestr_from_pk(pk) ); + (ulong)keyid[1], datestr_from_pk(revoker_pk) ); p = get_user_id( keyid, &n ); tty_print_utf8_string( p, n ); |