aboutsummaryrefslogtreecommitdiffstats
path: root/g10/getkey.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* gpg: Fix testing for secret key availability.Werner Koch2014-10-311-1/+0
| | | | | | | | | | | | * g10/getkey.c (have_secret_key_with_kid): Do not change the search mode. -- The search mode was accidentally changed to search-next after finding the first keyblock. The intention was to look for a duplicate keyid in the keydb which works by not doing a keydb_search_reset. Signed-off-by: Werner Koch <[email protected]>
* gpg: Remove commented code.Werner Koch2014-10-311-143/+0
| | | | --
* gpg: Fix informative printing of user ids.Werner Koch2014-10-131-20/+91
| | | | | | | | | | | | | | | | | | | | | | * g10/getkey.c (keyid_list): Add field "fpr". (cache_user_id): Store fpr and check for dups only by fpr. (get_pubkey_byfpr): New. (get_user_id_string): Make static and use xasprintf. (get_long_user_id_string): Use xasprintf. (get_user_id_byfpr): New. (get_user_id_byfpr_native): New. * g10/keyid.c (fingerprint_from_pk): Make arg RET_LEN optional. * g10/import.c (import_one): Use get_user_id_byfpr_native. -- We now cache the userids using the fingerprint. This allows to print the correct user id for keys with a duplicated key id. We should eventually start to retire the use of all the old keyid based functions. However, at some places we only have the keyid and thus some of them will need to be kept (maybe changed with an indication to show that more than several user ids are matching). Signed-off-by: Werner Koch <[email protected]>
* gpg: Fix bug parsing a zero length user id.Werner Koch2014-06-021-1/+4
| | | | | | | | | | | | | | | | | * g10/getkey.c (get_user_id): Do not call xmalloc with 0. * common/xmalloc.c (xmalloc, xcalloc): Take extra precaution not to pass 0 to the arguments. -- The problem did not occur in 1.x because over there the xmalloc makes sure to allocate at least one byte. With 2.x for most calls the xmalloc of Libgcrypt is used and Libgcrypt returns an error insteead of silent allocating a byte. Thus gpg 2.x bailed out with an "Fatal: out of core while allocating 0 bytes". The extra code in xmalloc.c is for more robustness for the other xmalloc calls.
* gpg: Re-enable secret key deletion.Werner Koch2014-04-151-0/+32
| | | | | | | * g10/call-agent.c (agent_delete_key): New. * g10/keydb.h (FORMAT_KEYDESC_DELKEY): New. * g10/passphrase.c (gpg_format_keydesc): Support new format. * g10/delkey.c (do_delete_key): Add secret key deletion.
* gpg: New mechanism "clear" for --auto-key-locate.Werner Koch2014-03-171-2/+9
| | | | * g10/getkey.c (parse_auto_key_locate): Implement "clear".
* gpg: Use only OpenPGP public key algo ids and add the EdDSA algo id.Werner Koch2014-01-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common/sexputil.c (get_pk_algo_from_canon_sexp): Change to return a string. * g10/keygen.c (check_keygrip): Adjust for change. * sm/certreqgen-ui.c (check_keygrip): Likewise. * agent/pksign.c (do_encode_dsa): Remove bogus map_pk_openpgp_to_gcry. * g10/misc.c (map_pk_openpgp_to_gcry): Remove. (openpgp_pk_test_algo): Change to a wrapper for openpgp_pk_test_algo2. (openpgp_pk_test_algo2): Rewrite. (openpgp_pk_algo_usage, pubkey_nbits): Add support for EdDSA. (openpgp_pk_algo_name): Rewrite to remove need for gcry calls. (pubkey_get_npkey, pubkey_get_nskey): Ditto. (pubkey_get_nsig, pubkey_get_nenc): Ditto. * g10/keygen.c(do_create_from_keygrip): Support EdDSA. (common_gen, gen_ecc, ask_keysize, generate_keypair): Ditto. * g10/build-packet.c (do_key): Ditto. * g10/export.c (transfer_format_to_openpgp): Ditto. * g10/getkey.c (cache_public_key): Ditto. * g10/import.c (transfer_secret_keys): Ditto. * g10/keylist.c (list_keyblock_print, list_keyblock_colon): Ditto. * g10/mainproc.c (proc_pubkey_enc): Ditto. * g10/parse-packet.c (parse_key): Ditto, * g10/sign.c (hash_for, sign_file, make_keysig_packet): Ditto. * g10/keyserver.c (print_keyrec): Use openpgp_pk_algo_name. * g10/pkglue.c (pk_verify, pk_encrypt, pk_check_secret_key): Use only OpenPGP algo ids and support EdDSA. * g10/pubkey-enc.c (get_it): Use only OpenPGP algo ids. * g10/seskey.c (encode_md_value): Ditto. -- This patch separates Libgcrypt and OpenPGP public key algorithms ids and in most cases completely removes the Libgcrypt ones. This is useful because for Libgcrypt we specify the algorithm in the S-expressions and the public key ids are not anymore needed. This patch also adds some support for PUBKEY_ALGO_EDDSA which will eventually be used instead of merging EdDSA with ECDSA. As of now an experimental algorithm id is used but the plan is to write an I-D so that we can get a new id from the IETF. Note that EdDSA (Ed25519) does not yet work and that more changes are required. The ECC support is still broken right now. Needs to be fixed. Signed-off-by: Werner Koch <[email protected]>
* Merge branch 'master' into key-storage-workkey-storage-workWerner Koch2013-03-201-1/+7
|\ | | | | | | --
| * gpg: Distinguish between missing and cleared key flags.Werner Koch2013-03-191-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/cipher.h (PUBKEY_USAGE_NONE): New. * g10/getkey.c (parse_key_usage): Set new flag. -- We do not want to use the default capabilities (derived from the algorithm) if any key flags are given in a signature. Thus if key flags are used in any way, the default key capabilities are never used. This allows to create a key with key flags set to all zero so it can't be used. This better reflects common sense.
* | gpg: Remove a function wrapper.Werner Koch2013-01-081-2/+2
| | | | | | | | | | | | * g10/keydb.h (keydb_search): Remove macro. * g10/keydb.c (keydb_search2): Rename to keydb_search. Change all callers.
* | gpg: Allow generation of more than 4096 keys in one run.Werner Koch2013-01-071-6/+20
| | | | | | | | | | | | | | | | | | | | | | * g10/getkey.c (cache_public_key): Make room in the cache if needed. -- To create the selfsigs, the key generation code makes use of the key cache. However, after 4096 the cache is filled up and then disabled. Thus generating more than 4096 keys in one run was not possible. We now clear the first half the inserted keys every time the cache gets full.
* | gpg: First working support for keyboxes.Werner Koch2012-12-281-2/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g10/getkey.c (get_pubkey_fast): Improve the assertion. * kbx/keybox.h: Include iobuf.h. * kbx/keybox-blob.c (keyboxblob_uid): Add field OFF. (KEYBOX_WITH_OPENPGP): Remove use of this macro. (pgp_create_key_part_single): New. (pgp_temp_store_kid): Change to use the keybox-openpgp parser. (pgp_create_key_part): Ditto. (pgp_create_uid_part): Ditto. (pgp_create_sig_part): Ditto. (pgp_create_blob_keyblock): Ditto. (_keybox_create_openpgp_blob): Ditto. * kbx/keybox-search.c (keybox_get_keyblock): New. * kbx/keybox-update.c (keybox_insert_keyblock): New. * g10/keydb.c (parse_keyblock_image): (keydb_get_keyblock): Support keybox. (build_keyblock_image): New. (keydb_insert_keyblock): Support keybox. * kbx/kbxutil.c (import_openpgp, main): Add option --dry-run and print a kbx file to stdout. * kbx/keybox-file.c (_keybox_read_blob2): Allow keyblocks up to 10^6 bytes. -- Import and key listing does now work with the keybox format. It is still quite slow and signature caching is completely missing. Increasing the maximum allowed length for a keyblock was required due to a 700k keyblock which inhibited kbxutil to list the file. kbxutil's option name --import-openpgp is not quite appropriate because it only creates KBX blobs from OpenPGP data.
* Change all quotes in strings and comments to the new GNU standard.Werner Koch2012-06-051-2/+2
| | | | | | | | | | | | | | | | | | | The asymmetric quotes used by GNU in the past (`...') don't render nicely on modern systems. We now use two \x27 characters ('...'). The proper solution would be to use the correct Unicode symmetric quotes here. However this has the disadvantage that the system requires Unicode support. We don't want that today. If Unicode is available a generated po file can be used to output proper quotes. A simple sed script like the one used for en@quote is sufficient to change them. The changes have been done by applying sed -i "s/\`\([^'\`]*\)'/'\1'/g" to most files and fixing obvious problems by hand. The msgid strings in the po files were fixed with a similar command.
* Re-indentation of keydb.c and error code changes.Werner Koch2011-04-291-5/+5
| | | | | | Returning -1 as an error code is not very clean given that gpg error has more descriptive error codes. Thus we now return GPG_ERR_NOT_FOUND for all search operations and adjusted all callers.
* Fix regression in gpg's mail address parsing.Werner Koch2011-04-251-1/+1
| | | | | | Since 2009-12-08 gpg was not able to find email addresses indicated by a leading '<'. This happened when I merged the user id classification code of gpgsm and gpg.
* Nuked almost all trailing white space.post-nuke-of-trailing-wsWerner Koch2011-02-041-11/+11
| | | | | | | | We better do this once and for all instead of cluttering all future commits with diffs of trailing white spaces. In the majority of cases blank or single lines are affected and thus this change won't disturb a git blame too much. For future commits the pre-commit scripts checks that this won't happen again.
* Integrating http://code.google.com/p/gnupg-ecc/source/detail?r=15 .Andrey Jivsov2011-01-061-1/+4
| | | | | | | | | | The following works: gpg2 --gen-key (ECC) gpg2 --list-keys gpg2 --list-packets ~/.gnupg/pubring.gpg gpg2 --list-packets <private key from http://sites.google.com/site/brainhub/pgpecckeys> ECDH doesn't work yet as the code must be re-written to adjust for gpg-agent refactoring.
* Make public key data structure easier to read.Werner Koch2010-10-201-26/+28
| | | | | Check vor v1 card while signing.
* More agent support for gpg.Werner Koch2010-10-131-69/+87
|
* Exporting secret keys via gpg-agent is now basically supported.Werner Koch2010-10-011-8/+8
| | | | | | A couple of forward ported changes. Doc updates.
* Removed more secret key related code.Werner Koch2010-09-061-1/+1
| | | | | | It builds fine and passes some of the tests but there are quite some features which don't work yet.
* More changes on the way to remove secring.gpg.Werner Koch2010-04-211-184/+142
|
* Generating an OpenPGP key cia gpg-agent basically works.Werner Koch2010-04-201-3/+3
|
* Various changes to eventually support openpgp keys in pgp-agent.Werner Koch2010-02-021-310/+295
| | | | | | Comment fixes. Minor chnages in preparation of a W32CE port.
* Re-indentWerner Koch2010-01-091-2061/+2210
|
* Unification of the search descriptor usage.Werner Koch2009-12-081-225/+5
|
* Fix bug#1034.Werner Koch2009-05-061-10/+0
| | | | | Remove dead code.
* preparing a releaseWerner Koch2009-01-121-2/+7
|
* Marked all unused args on non-W32 platforms.Werner Koch2008-10-201-1/+3
|
* Remove a warning.Werner Koch2008-05-091-1/+1
|
* --locate-key now returns several keys if they all match.Werner Koch2008-05-071-9/+59
|
* Add command --locate-key.Werner Koch2008-05-071-4/+9
| | | | | Fix auto-key-locate processing of "nodefault".
* Test commitDavid Shaw2008-04-161-2/+2
|
* If there are multiple 0x19 backsigs, take the most recent one. (from 1.4).Werner Koch2008-04-161-27/+73
| | | | | add log-file and debug-level to the --gpgconf-list.
* Enhanced --auto-key-locate.Werner Koch2008-04-081-44/+90
|
* Minor cleanups.Werner Koch2008-04-071-5/+3
| | | | | Implemented key helper kdns
* Comment fixes.Werner Koch2008-03-061-3/+3
| | | | | Convey the new envvars when using simple-pwquery.
* Changed to GPLv3.Werner Koch2007-07-041-4/+2
| | | | | Removed intl/.
* From STABLE-BRANCH-1-4David Shaw2007-03-101-0/+3
| | | | | | | | * parse-packet.c (parse_signature): It's hex. * getkey.c (merge_selfsigs_subkey): Avoid listing the contents of a backsig when list mode is on. Noted by Timo Schulz.
* Fix from 1.4:Werner Koch2007-03-081-4/+9
| | | | | | | | | | * keyedit.c (keyedit_menu): If we modify the keyblock (via fix_keyblock() or collapse_uids()) make sure we reprocess the keyblock so the flags are correct. Noted by Robin H. Johnson. * getkey.c (fixup_uidnode): Properly clear flags that don't apply to us (revoked, expired) so that we can reprocess a uid.
* Allow to select X.509 certificates using the keygrip.Werner Koch2006-10-201-1/+5
|
* Fix for bug 537Werner Koch2006-10-021-6/+6
|
* Ported patches from 1.4.x Werner Koch2006-06-271-8/+8
|
* Merged recent changes from 1.4Werner Koch2006-04-281-4/+4
|
* Merged with gpg 1.4.3 code. Werner Koch2006-04-191-290/+676
| | | | | The gpg part does not yet build.
* Merged most of David Shaw's changes in 1.3 since 2003-06-03.Werner Koch2003-09-231-5/+3
|
* * keygen.c (do_add_key_flags, parse_parameter_usage)Werner Koch2003-09-051-7/+14
| | | | | | | | (do_generate_keypair): 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.
* * options.h (DBG_CIPHER): Reintroduced it.Werner Koch2003-07-031-1/+1
| | | | | | | | | | | | | | | | | | * seskey.c (encode_session_key): Debug output of the session key. * pubkey-enc.c (get_it): Handle card case. * call-agent.c (agent_scd_pkdecrypt): New. * pkglue.c (pk_encrypt): Add RSA support. * g10.c (main): Default to --use-agent. * keygen.c (show_smartcard): Print info about the public key. (check_smartcard): Check for existing key here. (gen_card_key): And not anymore here. (fpr_is_zero): New. (generate_keypair): Generate both keys for a card. (smartcard_change_url): Nw.
* Finished the bulk of changes for gnupg 1.9. This included switchingWerner Koch2003-06-181-49/+51
| | | | | | | | | | | to libgcrypt functions, using shared error codes from libgpg-error, replacing the old functions we used to have in ../util by those in ../jnlib and ../common, renaming the malloc functions and a couple of types. Note, that not all changes are listed below becuause they are too similar and done at far too many places. As of today the code builds using the current libgcrypt from CVS but it is very unlikely that it actually works.
* This commit was manufactured by cvs2svn to create branchRepo Admin2003-06-051-0/+2611
| | | | 'GNUPG-1-9-BRANCH'.