diff options
author | Damien Miller <djm@mindrot.org> | 2004-06-15 10:30:09 +1000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2004-06-15 10:30:09 +1000 |
commit | f675fc4948b2ec2c9ff86bcdd58e00947f0e319b (patch) | |
tree | babb42f0a29e7b24284a731cb894454d8f80fc97 /kexdhc.c | |
parent | 7cf17eb78c71ba16ec39bb1a6a8640885071a307 (diff) |
- djm@cvs.openbsd.org 2004/06/13 12:53:24
[dh.c dh.h kex.c kex.h kexdhc.c kexdhs.c monitor.c myproposal.h]
[ssh-keyscan.c sshconnect2.c sshd.c]
implement diffie-hellman-group14-sha1 kex method (trivial extension to
existing diffie-hellman-group1-sha1); ok markus@
Diffstat (limited to 'kexdhc.c')
-rw-r--r-- | kexdhc.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -23,7 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "includes.h" | 25 | #include "includes.h" |
26 | RCSID("$OpenBSD: kexdhc.c,v 1.1 2003/02/16 17:09:57 markus Exp $"); | 26 | RCSID("$OpenBSD: kexdhc.c,v 1.2 2004/06/13 12:53:24 djm Exp $"); |
27 | 27 | ||
28 | #include "xmalloc.h" | 28 | #include "xmalloc.h" |
29 | #include "key.h" | 29 | #include "key.h" |
@@ -44,7 +44,16 @@ kexdh_client(Kex *kex) | |||
44 | u_int klen, kout, slen, sbloblen; | 44 | u_int klen, kout, slen, sbloblen; |
45 | 45 | ||
46 | /* generate and send 'e', client DH public key */ | 46 | /* generate and send 'e', client DH public key */ |
47 | dh = dh_new_group1(); | 47 | switch (kex->kex_type) { |
48 | case KEX_DH_GRP1_SHA1: | ||
49 | dh = dh_new_group1(); | ||
50 | break; | ||
51 | case KEX_DH_GRP14_SHA1: | ||
52 | dh = dh_new_group14(); | ||
53 | break; | ||
54 | default: | ||
55 | fatal("%s: Unexpected KEX type %d", __func__, kex->kex_type); | ||
56 | } | ||
48 | dh_gen_key(dh, kex->we_need * 8); | 57 | dh_gen_key(dh, kex->we_need * 8); |
49 | packet_start(SSH2_MSG_KEXDH_INIT); | 58 | packet_start(SSH2_MSG_KEXDH_INIT); |
50 | packet_put_bignum2(dh->pub_key); | 59 | packet_put_bignum2(dh->pub_key); |