diff options
author | Werner Koch <[email protected]> | 2003-09-30 08:00:08 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2003-09-30 08:00:08 +0000 |
commit | 8062cb418a4757c603447fb5fad2d06bf54cadb3 (patch) | |
tree | c4290b18aed7add7b1355acd16b5d0876edc8ac3 /g10/getkey.c | |
parent | 2003-09-28 Timo Schulz <[email protected]> (diff) | |
download | gnupg-8062cb418a4757c603447fb5fad2d06bf54cadb3.tar.gz gnupg-8062cb418a4757c603447fb5fad2d06bf54cadb3.zip |
* keygen.c (do_add_key_flags, parse_parameter_usage): Add support
the proposed AUTH key flag.
* getkey.c (fixup_uidnode, merge_selfsigs_main)
(merge_selfsigs_subkey, premerge_public_with_secret): Ditto.
* keylist.c (print_capabilities): Ditto.
* parse-packet.c (parse_key): Allow to parse the divert-to-card
S2K mode.
* build-packet.c (do_secret_key): Handle divert-to-card S2K
* seckey-cert.c (is_secret_key_protected): Ditto.
(check_secret_key): Ditto.
* keygen.c (do_ask_passphrase): Renamed from ask_passphrase.
* passphrase.c (ask_passphrase): New.
Diffstat (limited to '')
-rw-r--r-- | g10/getkey.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index 5e4ca44e2..72b80ba76 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1279,6 +1279,8 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated ) uid->help_key_usage |= PUBKEY_USAGE_ENC; /* Note: we do not set the CERT flag here because it can be assumed * that thre is no real policy to set it. */ + if ( (*p & 0x20) ) + uid->help_key_usage |= PUBKEY_USAGE_AUTH; } /* ditto or the key expiration */ @@ -1490,6 +1492,8 @@ merge_selfsigs_main( KBNODE keyblock, int *r_revoked ) key_usage |= PUBKEY_USAGE_SIG; if ( (*p & 12) ) key_usage |= PUBKEY_USAGE_ENC; + if ( (*p & 0x20) ) + key_usage |= PUBKEY_USAGE_AUTH; } p = parse_sig_subpkt (sig->hashed, SIGSUBPKT_KEY_EXPIRE, NULL); @@ -1878,6 +1882,8 @@ merge_selfsigs_subkey( KBNODE keyblock, KBNODE subnode ) key_usage |= PUBKEY_USAGE_SIG; if ( (*p & 12) ) key_usage |= PUBKEY_USAGE_ENC; + if ( (*p & 0x20) ) + key_usage |= PUBKEY_USAGE_AUTH; } if ( !key_usage ) { /* no key flags at all: get it from the algo */ key_usage = openpgp_pk_algo_usage ( subpk->pubkey_algo ); @@ -2075,7 +2081,8 @@ premerge_public_with_secret ( KBNODE pubblock, KBNODE secblock ) /* The secret parts are not available so we can't use that key for signing etc. Fix the pubkey usage */ - pk->pubkey_usage &= ~PUBKEY_USAGE_SIG; + pk->pubkey_usage &= ~(PUBKEY_USAGE_SIG + |PUBKEY_USAGE_AUTH); } /* transfer flag bits 0 and 1 to the pubblock */ pub->flag |= (sec->flag &3); |