mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-11-30 13:01:23 +03:00
dh-gex: Add server implementation
Signed-off-by: Aris Adamantiadis <aris@0xbadc0de.be> Reviewed-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
This commit is contained in:
committed by
Andreas Schneider
parent
40faa98c5e
commit
53c88375fe
@@ -98,6 +98,7 @@ struct ssh_crypto_struct {
|
||||
bignum e,f,x,k,y;
|
||||
bignum g, p;
|
||||
int dh_group_is_mutable; /* do free group parameters */
|
||||
size_t dh_pmin; int dh_pn; int dh_pmax; /* preferred group parameters */
|
||||
#ifdef HAVE_ECDH
|
||||
#ifdef HAVE_OPENSSL_ECC
|
||||
EC_KEY *ecdh_privkey;
|
||||
|
||||
@@ -23,11 +23,6 @@
|
||||
#ifndef SRC_DH_GEX_H_
|
||||
#define SRC_DH_GEX_H_
|
||||
|
||||
/* Minimum, recommanded and maximum size of DH group */
|
||||
#define DH_PMIN 2048
|
||||
#define DH_PREQ 2048
|
||||
#define DH_PMAX 8192
|
||||
|
||||
int ssh_client_dhgex_init(ssh_session session);
|
||||
|
||||
#ifdef WITH_SERVER
|
||||
|
||||
@@ -47,5 +47,6 @@ void ssh_server_dh_init(ssh_session session);
|
||||
int ssh_dh_init_common(ssh_session session);
|
||||
void ssh_dh_cleanup(struct ssh_crypto_struct *crypto);
|
||||
int ssh_dh_generate_secret(ssh_session session, bignum dest);
|
||||
int ssh_server_dh_process_init(ssh_session session, ssh_buffer packet);
|
||||
|
||||
#endif /* DH_H_ */
|
||||
|
||||
@@ -49,6 +49,7 @@ enum ssh_session_state_e {
|
||||
|
||||
enum ssh_dh_state_e {
|
||||
DH_STATE_INIT=0,
|
||||
DH_STATE_GROUP_SENT,
|
||||
DH_STATE_REQUEST_SENT,
|
||||
DH_STATE_INIT_SENT,
|
||||
DH_STATE_NEWKEYS_SENT,
|
||||
|
||||
Reference in New Issue
Block a user