aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keygen.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-04-26g10: Fix secmem leak.dkg/T1371Ineiev1-12/+12
* g10/keygen.c (proc_parameter_file): Fix secmem leak. -- proc_parameter_file() adds certain parameters to the list in the para argument; however, these new entries are leaked because they are added to head, while the para list is released by the caller of proc_parameter_file. GnuPG-bug-id: 1371
2016-07-06g10: Fix keysize with --expert.NIIBE Yutaka1-2/+2
* g10/keygen.c (ask_keysize): It's 768 only for DSA. -- GnuPG-bug-id: 2238 Signed-off-by: NIIBE Yutaka <[email protected]>
2015-02-23Use inline functions to convert buffer data to scalars.Werner Koch1-8/+6
* include/host2net.h (buf16_to_ulong, buf16_to_uint): New. (buf16_to_ushort, buf16_to_u16): New. (buf32_to_size_t, buf32_to_ulong, buf32_to_uint, buf32_to_u32): New. -- This fixes sign extension on shift problems. Hanno Böck found a case with an invalid read due to this problem. To fix that almost all uses of "<< 24" and "<< 8" are changed by this patch to use an inline function from host2net.h. (back ported from commit 2183683bd633818dd031b090b5530951de76f392) Signed-off-by: Werner Koch <[email protected]> [dkg: rebased to STABLE-BRANCH-1-4] Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2015-02-23gpg: Allow predefined names as answer to the keygen.algo prompt.Werner Koch1-11/+13
* g10/keygen.c (ask_algo): Add list of strings. -- Signed-off-by: Werner Koch <[email protected]> (backported from commit b1d5ed6ac842469afcb84868d0f6641dc286a6c7) [dkg: rebased to STABLE-BRANCH-1-4] Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2014-12-12gpg: release DEK soon after its use.NIIBE Yutaka1-1/+1
* g10/keygen.c (generate_subkeypair): Release DEK soon. -- This fixes the out_of_core error in the test case of adding RSA-4096 subkey to RSA-4096 primary key with configuration: s2k-cipher-algo S10 Debian-bug-id: 772780
2014-10-03gpg: Add build and runtime support for larger RSA keysDaniel Kahn Gillmor1-2/+3
* configure.ac: Added --enable-large-secmem option. * g10/options.h: Add opt.flags.large_rsa. * g10/gpg.c: Contingent on configure option: adjust secmem size, add gpg --enable-large-rsa, bound to opt.flags.large_rsa. * g10/keygen.c: Adjust max RSA size based on opt.flags.large_rsa * doc/gpg.texi: Document --enable-large-rsa. -- Some older implementations built and used RSA keys up to 16Kib, but the larger secret keys now fail when used by more recent GnuPG, due to secure memory limitations. Building with ./configure --enable-large-secmem will make gpg capable of working with those secret keys, as well as permitting the use of a new gpg option --enable-large-rsa, which let gpg generate RSA keys up to 8Kib when used with --batch --gen-key. Debian-bug-id: 739424 Minor edits by wk. GnuPG-bug-id: 1732
2014-06-30Limit keysize for unattended key generation to useful values.Werner Koch1-2/+10
* g10/keygen.c (gen_elg): Enforce keysize 1024 to 4096. (gen_rsa): Enforce keysize 1024 to 4096. (gen_dsa): Enforce keysize 768 to 3072. -- It was possible to create 16k RSA keys in batch mode. In addition to the silliness of such keys, they have the major drawback that GnuPG, with its limited amount of specially secured memory areas, the use of such keys may lead to an "out of secure memory" condition.
2013-10-04gpg: Allow setting of all zero key flagsDaniel Kahn Gillmor1-3/+0
* g10/keygen.c (do_add_key_flags): Do not check for empty key flags. (cherry picked from commit b693ec02c467696bf9d7324dd081e279f9965151) (cherry picked from commit dd868acb0d13a9f119c0536777350a6c237a66a1)
2013-08-30gpg: Use 2048 as the default keysize in batch mode.Werner Koch1-3/+3
* g10/keygen.c (gen_elg, gen_dsa, gen_rsa): Set default keysize to 2048. Signed-off-by: Werner Koch <[email protected]>
2012-11-08Create off-line card encryption key with the right size.Werner Koch1-1/+16
* g10/keygen.c (gen_card_key_with_backup): Get the size of the key from the card. -- Formerly the off-line encryption key was created with a fixed length of 1024 bit. With this change the key is created as expected. GnuPG-bug-id: 1230
2012-11-08Support the not anymore patented IDEA cipher algorithm.Werner Koch1-8/+3
* cipher/idea.c: New. Take from Libgcrypt master and adjust for direct use in GnuPG. * cipher/idea-stub.c: Remove. * cipher/Makefile.am: Add idea.c and remove idea-stub.c rules. * configure.ac: Remove idea-stub code. * g10/gpg.c (check_permissions): Remove code path for ITEM==2. (main): Make --load-extension a dummy option. * g10/keygen.c (keygen_set_std_prefs): Include IDEA only in PGP2 compatibility mode. * g10/misc.c (idea_cipher_warn): Remove. Also remove all callers. * g10/seckey-cert.c (do_check): Remove emitting of STATUS_RSA_OR_IDEA. * g10/status.c (get_status_string): Remove STATUS_RSA_OR_IDEA. * g10/status.h (STATUS_RSA_OR_IDEA): Remove. -- To keep the number of actually used algorithms low, we support IDEA only in a basically read-only way (unless --pgp2 is used during key generation). It does not make sense to suggest the use of this old 64 bit blocksize algorithm. However, there is old data available where it might be helpful to have IDEA available.
2011-08-09Fix bug#1307Werner Koch1-64/+64
This is a backport of the fixes for 2.0. There is only one real bug, the other changes are for clarity and for more picky compilers.
2010-10-27Detect unsigned time_t and adjust y2038 detection.Werner Koch1-1/+1
2010-02-17Fix bug 1186Werner Koch1-1/+1
2009-07-29Update key generation menu to match gnupg 2.0.Werner Koch1-100/+168
Changes default preferences and key algorithms.
2009-07-21First set of changes to backport the new card code from 2.0.Werner Koch1-42/+77
For compatibility reasons a few new files had to be added. Also added estream-printf as this is now used in app-openpgp.c and provides a better and generic asprintf implementation than the hack we used for the W32 code in ttyio.c. Card code is not yet finished.
2009-05-05Backport of Creation-Date parameter for unattended key generation.Werner Koch1-51/+118
2008-12-09Check algo usage.Werner Koch1-19/+39
2008-08-11Fix bug #947 (expire time overflow)Werner Koch1-6/+12
2007-12-03Comment typ fixes.Werner Koch1-2/+15
Workaround for bad translations of the capability menu.
2007-10-23Switched to GPLv3.Werner Koch1-4/+2
Updated gettext.
2007-02-01Missed one caller.David Shaw1-1/+1
2007-02-01* main.h, keygen.c (ask_expire_interval, parse_expire_string): Pass inDavid Shaw1-13/+11
the time to use to calculate the expiration offset, rather than querying it internally. Change all callers.
2007-01-31* keygen.c (do_generate_keypair, proc_parameter_file,David Shaw1-35/+58
generate_keypair, generate_subkeypair): Pass a timestamp through to all the gen_xxx functions.
2007-01-31* main.h, keygen.c (ask_expiredate), keyedit.c (menu_expire): RemoveDavid Shaw1-8/+0
the need for ask_expiredate().
2007-01-30* keygen.c (make_backsig, write_direct_sig, write_selfsigs)David Shaw1-7/+9
(write_keybinding): Have the various selfsigs created during key generation use the timestamp of their parent key. This helps avoid leaking information about the performance of the machine where the keys were generated. Noted by Christian Danner.
2007-01-15 * parse-packet.c (read_protected_v3_mpi): Make sure to stopWerner Koch1-1/+1
reading even for corrupted packets. * keygen.c (generate_user_id): Need to allocate one byte more. Reported by Felix von Leitner.
2006-07-26Fixed memory allocation bug and typos.Werner Koch1-0/+2
2006-06-22* options.h, gpg.c (main), keygen.c (keygen_upd_std_prefs,David Shaw1-1/+28
keygen_add_std_prefs, proc_parameter_file): Add --default-keyserver-url to specify a keyserver URL at key generation time, and "Keyserver:" keyword for doing the same through a batch file.
2006-06-10* keygen.c (gen_card_key): Add optional argument to return a pointerDavid Shaw1-8/+13
(not a copy) of the stub secret key for the secret key we just generated on the card. (generate_card_subkeypair): Use it here so that the signing key on the card can use the card to generate the 0x19 backsig on the primary key. Noted by Janko Heilgeist and Jonas Oberg.
2006-05-25* keygen.c (gen_dsa): Allow generating DSA2 keys (allow specifying sizes >David Shaw1-21/+56
1024 when --enable-dsa2 is set). The size of q is set automatically based on the key size. (ask_keysize, generate_keypair): Ask for DSA size when --enable-dsa2 is set.
2006-05-23* parse-packet.c (dump_sig_subpkt, parse_signature), build-packet.cDavid Shaw1-1/+1
(build_sig_subpkt_from_sig), getkey.c (fixup_uidnode, merge_selfsigs_main, merge_selfsigs_subkey), keygen.c (keygen_add_key_expire): Fix meaning of key expiration and sig expiration subpackets - zero means "never expire" according to 2440, not "expire instantly".
2006-03-09* packet.h, build-packet.c (sig_to_notation), keygen.cDavid Shaw1-2/+4
(keygen_add_notations): Provide printable text for non-human-readable notation values.
2006-03-08* packet.h, build-packet.c (sig_to_notation), keygen.cDavid Shaw1-1/+4
(keygen_add_notations): Tweak to handle non-human-readable notation values.
2006-03-08* options.h, sign.c (mk_notation_policy_etc), gpg.c (add_notation_data):David Shaw1-2/+46
Use it here for the various notation commands. * packet.h, main.h, keygen.c (keygen_add_notations), build-packet.c (string_to_notation, sig_to_notation) (free_notation): New "one stop shopping" functions to handle notations and start removing some code duplication.
2005-11-10* packet.h: Move some flags to a bitfield. Change all callers.David Shaw1-2/+2
2005-10-26* keygen.c (proc_parameter_file): Default key and subkey usage flags toDavid Shaw1-7/+29
algo capabilities if parameter file doesn't specify them. Noted by Timo Schulz.
2005-10-18Fixed minor card related bugs and enhanced status messagesWerner Koch1-3/+7
2005-10-14* keyedit.c (keyedit_menu, menu_backsign): New "backsign" command toDavid Shaw1-1/+1
add 0x19 backsigs to old keys that don't have them. * misc.c (parse_options): Fix build warning. * main.h, keygen.c (make_backsig): Make public.
2005-10-11* getkey.c (merge_selfsigs_subkey), sig-check.c (signature_check2),David Shaw1-14/+6
keygen.c (make_backsig): Did some backsig interop testing with the PGP folks. All is well, so I'm turning generation of backsigs on for new keys. Checking for backsigs on verification is still off.
2005-08-27* misc.c (openpgp_pk_algo_usage): Default to allowing CERT for signingDavid Shaw1-7/+17
algorithms. * keyedit.c (sign_uids): Don't request a signing key to make a certification. * keygen.c (do_add_key_flags): Force the certify flag on for all primary keys, as the spec requires primary keys must be able to certify (if nothing else, which key is going to issue the user ID signature?) (print_key_flags): Show certify flag. (ask_key_flags, ask_algo): Don't allow setting the C flag for subkeys. * keyid.c (usagestr_from_pk), getkey.c (parse_key_usage): Distinguish between a sign/certify key and a certify-only key.
2005-08-05auto retrieve keys from PKA. Thsi allows to specify an email addressWerner Koch1-7/+2
so that gpg can get the key from DNS. This helps with opportunistic encryption. No integration with the trust modell yet.
2005-08-05* keygen.c (proc_parameter_file): Sanity check items in keygen batchDavid Shaw1-98/+120
file. Noted by Michael Schierl.
2005-08-04* keygen.c (write_keyblock): Don't try and build deleted kbnodes sinceDavid Shaw1-6/+12
we start our tree with one.
2005-08-04Revert bad patch.David Shaw1-8/+1
2005-08-04* keygen.c (start_tree): Need to use an actual packet type (which weDavid Shaw1-1/+8
can then delete) to start the tree.
2005-07-28Implemented PKA trust modelWerner Koch1-21/+0
2005-07-27Converted all m_free to xfree etc.Werner Koch1-113/+113
2005-06-20* keygen.c (save_unprotected_key_to_card): Better fix for gcc4 warning.David Shaw1-1/+1
2005-06-14* keygen.c (save_unprotected_key_to_card): Fix gcc4 warning.David Shaw1-1/+1
* options.h, import.c (parse_import_options, import_one): Add import-clean-uids option to automatically compact unusable uids when importing. Like import-clean-sigs, this may nodify the local keyring. * trustdb.c (clean_uids_from_key): Only allow selfsigs to be a candidate for re-inclusion.