summaryrefslogtreecommitdiffhomepage
path: root/keyimport.c
AgeCommit message (Collapse)Author
2020-04-06use sigtype where appropriateMatt Johnston
2020-03-12Add Ed25519 support (#91)Vladislav Grishenko
* Add support for Ed25519 as a public key type Ed25519 is a elliptic curve signature scheme that offers better security than ECDSA and DSA and good performance. It may be used for both user and host keys. OpenSSH key import and fuzzer are not supported yet. Initially inspired by Peter Szabo. * Add curve25519 and ed25519 fuzzers * Add import and export of Ed25519 keys
2019-03-20dropbearconvert: keyimport.c: fix BER encoding of secp521r1 keys (#69)Christian Hohnstädt
keysizes >= 128 octets will be encoded with a 3 byte header which must be accounted by the optional-header Reproduce: master:~/build/dropbear$ ./dropbearkey -t ecdsa -s 521 -f K Generating 521 bit ecdsa key, this may take a while... master:~/build/dropbear$ ./dropbearconvert d o K L Key is a ecdsa-sha2-nistp521 key Wrote key to 'L' master:~/build/dropbear$ openssl ec < L read EC key unable to load Key 139769806448384:error:0D07209B:asn1 encoding routines:ASN1_get_object:too long:crypto/asn1/asn1_lib.c:91:
2018-02-16options: Complete the transition to numeric toggles (`#if')Michael Witten
For the sake of review, this commit alters only the code; the affiliated comments within the source files also need to be updated, but doing so now would obscure the operational changes that have been made here. * All on/off options have been switched to the numeric `#if' variant; that is the only way to make this `default_options.h.in' thing work in a reasonable manner. * There is now some very minor compile-time checking of the user's choice of options. * NO_FAST_EXPTMOD doesn't seem to be used, so it has been removed. * ENABLE_USER_ALGO_LIST was supposed to be renamed DROPBEAR_USER_ALGO_LIST, and this commit completes that work. * DROPBEAR_FUZZ seems to be a relatively new, as-yet undocumented option, which was added by the following commit: commit 6e0b539e9ca0b5628c6c5a3d118ad6a2e79e8039 Author: Matt Johnston <matt@ucc.asn.au> Date: Tue May 23 22:29:21 2017 +0800 split out checkpubkey_line() separately It has now been added to `sysoptions.h' and defined as `0' by default. * The configuration option `DROPBEAR_PASSWORD_ENV' is no longer listed in `default_options.h.in'; it is no longer meant to be set by the user, and is instead left to be defined in `sysoptions.h' (where it was already being defined) as merely the name of the environment variable in question: DROPBEAR_PASSWORD To enable or disable use of that environment variable, the user must now toggle `DROPBEAR_USE_DROPBEAR_PASSWORD'. * The sFTP support is now toggled by setting `DROPBEAR_SFTPSERVER', and the path of the sFTP server program is set independently through the usual SFTPSERVER_PATH.
2017-08-19Pointer parameter could be declared as pointing to constFrancois Perrad
2017-06-01fix indentationFrancois Perrad
2016-07-21merge 2016.74Matt Johnston
2016-05-04Convert #ifdef to #if, other build changesMatt Johnston
2016-05-02options for disabling "normal" DHMatt Johnston
2016-07-12make indenting consistentMatt Johnston
2016-07-12add length checks for ecc tooMatt Johnston
2016-07-12merge fixes from PuTTY import.cMatt Johnston
toint() from misc.c (revids are from hggit conversion) changeset: 4620:60a336a6c85c user: Simon Tatham <anakin@pobox.com> date: Thu Feb 25 20:26:33 2016 +0000 files: import.c description: Fix potential segfaults in reading OpenSSH's ASN.1 key format. The length coming back from ber_read_id_len might have overflowed, so treat it as potentially negative. Also, while I'm here, accumulate it inside ber_read_id_len as an unsigned, so as to avoid undefined behaviour on integer overflow, and toint() it before return. Thanks to Hanno Böck for spotting this, with the aid of AFL. (cherry picked from commit 5b7833cd474a24ec098654dcba8cb9509f3bf2c1) Conflicts: import.c (cherry-picker's note: resolving the conflict involved removing an entire section of the original commit which fixed ECDSA code not present on this branch) changeset: 4619:9c6c638d98d8 user: Simon Tatham <anakin@pobox.com> date: Sun Jul 14 10:45:54 2013 +0000 files: import.c ssh.c sshdss.c sshpubk.c sshrsa.c description: Tighten up a lot of casts from unsigned to int which are read by one of the GET_32BIT macros and then used as length fields. Missing bounds checks against zero have been added, and also I've introduced a helper function toint() which casts from unsigned to int in such a way as to avoid C undefined behaviour, since I'm not sure I trust compilers any more to do the obviously sensible thing. [originally from svn r9918] changeset: 4618:3957829f24d3 user: Simon Tatham <anakin@pobox.com> date: Mon Jul 08 22:36:04 2013 +0000 files: import.c sshdss.c sshrsa.c description: Add an assortment of extra safety checks. [originally from svn r9896] changeset: 4617:2cddee0bce12 user: Jacob Nevins <jacobn@chiark.greenend.org.uk> date: Wed Dec 07 00:24:45 2005 +0000 files: import.c description: Institutional failure to memset() things pointed at rather than pointers. Things should now be zeroed and memory not leaked. Spotted by Brant Thomsen. [originally from svn r6476] changeset: 4616:24ac78a9c71d user: Simon Tatham <anakin@pobox.com> date: Wed Feb 11 13:58:27 2004 +0000 files: import.c description: Jacob's last-minute testing found a couple of trivial bugs in import.c, and my attempts to reproduce them in cmdgen found another one there :-) [originally from svn r3847] changeset: 4615:088d39a73db0 user: Simon Tatham <anakin@pobox.com> date: Thu Jan 22 18:52:49 2004 +0000 files: import.c description: Placate some gcc warnings. [originally from svn r3761] changeset: 4614:e4288bad4d93 parent: 1758:108b8924593d user: Simon Tatham <anakin@pobox.com> date: Fri Oct 03 21:21:23 2003 +0000 files: import.c description: My ASN.1 decoder returned wrong IDs for anything above 0x1E! Good job it's never had to yet. Ahem. [originally from svn r3479]
2016-01-01more hard tabFrancois Perrad
2015-06-04buf_getstring and buf_putstring now use non-unsigned char*Matt Johnston
2015-05-05Turn modptr local variable into unsigned char *Gaël PORTAY
2015-05-05Fix pointer differ in signess warnings [-Werror=pointer-sign]Gaël PORTAY
2015-05-05Uses k_size as an signed integerGaël PORTAY
buf_incrwritepos() and mp_to_unsigned_bin() functions use k_size as signed integer argument. k_size is also used in an assertion that compared it to curve_size which is a signed long. Only buf_getwriteptr() is using k_size as unsigned. So it safe to use it as signed.
2015-02-24Use m_burn rather than memsetThorsten Horstmann
2015-02-24Fix for old compilers, variable declarations at beginning of functionsThorsten Horstmann
and /**/ comments
2015-01-28When clearing the memory of 'key' in function openssh_read(), only the sizeChristian Engelmayer
of the pointer to the data instead of the whole size of struct openssh_key is cleared. Correct the size calculation as detected by Coverity CID 1191543.
2015-01-23Fix variables may be uninitialized.Like Ma
(fixup of pull request #7)
2014-06-25Fix compiling with ECDSA and DSS disabledMatt Johnston
2013-11-27- Increase buffer size, fixes converting 521bit ECC keyMatt Johnston
- Fix assertion that key size is exactly curve size
2013-11-14use oldstyle commentsMatt Johnston
2013-11-07Add '-R' for delayed hostkey optionMatt Johnston
--HG-- branch : keyondemand
2013-11-07refactor key generation, make it generate as required.Matt Johnston
Needs UI in server command line options --HG-- branch : keyondemand
2013-11-01merge yet againMatt Johnston
2013-11-01Fix specifying a keysize for key generation, fix key name argumentsMatt Johnston
--HG-- branch : ecc
2013-10-20writing out openssh ecc keys worksMatt Johnston
--HG-- branch : ecc
2013-05-25have separate ecdsa keys for each sizeMatt Johnston
fix crash from the mp_alloc_init_multi change in RSA --HG-- branch : ecc
2013-05-23hackish ECC import code from OpenSSHMatt Johnston
--HG-- branch : ecc
2013-04-14A bit of work on ecdsa for host/auth keysMatt Johnston
--HG-- branch : ecc
2008-09-22Remove an unused variableMatt Johnston
--HG-- extra : convert_revision : 63f95bd7b4b15b61cd13cdcc86cdeef2681ce6e7
2006-07-07Fixes from Erik Hovland:Matt Johnston
cli-authpubkey.c: fix leak of keybuf cli-kex.c: fix leak of fingerprint fp cli-service.c: remove commented out code dropbearkey.c: don't attepmt to free NULL key on failure common-kex.c: only free key if it is initialised keyimport.c: remove dead encrypted-key code don't leak a FILE* loading OpenSSH keys rsa.c, dss.c: check return values for some libtommath functions svr-kex.c: check return value retrieving DH kex mpint svr-tcpfwd.c: fix null-dereference if remote tcp forward request fails tcp-accept.c: don't incorrectly free the tcpinfo var --HG-- extra : convert_revision : 640a55bc710cbaa6d212453c750026c770e19193
2005-11-30 * keyimport.c: fclose() the key file to make sure data gets writtenMatt Johnston
--HG-- extra : convert_revision : 54840316c94733a793222ad54331ab207b4097e5
2005-09-05* use own assertions which should get logged properlyMatt Johnston
--HG-- extra : convert_revision : 3dc365619f0840ab5781660b1257a9f22c05d3fe
2004-08-17Some small fixes for unused vars, and old messagesMatt Johnston
--HG-- extra : convert_revision : 83d9a25ee973ab65fa64dcf8595838b160c21663
2004-08-14Dropbearkey can now print out pubkey portionsMatt Johnston
--HG-- extra : convert_revision : 2d897b12ba8710efe0b042b36b1fd31b2469eb15
2004-06-01Makefile.in contains updated files requiredMatt Johnston
--HG-- extra : convert_revision : cc8a8c49dc70e632c352853a39801089b08149be