Displaying 2 results from an estimated 2 matches for "server_host_public".
2013 Jun 25
1
RFC: encrypted hostkeys patch
...t_private_key)(int);
int (*host_key_index)(Key *);
+ void (*sign)(Key *, Key *, u_char **, u_int *, u_char *, u_int);
void (*kex[KEX_MAX])(Kex *);
};
diff --git a/kexdhs.c b/kexdhs.c
index 1512863..f6d43f2 100644
--- a/kexdhs.c
+++ b/kexdhs.c
@@ -80,9 +80,6 @@ kexdh_server(Kex *kex)
if (server_host_public == NULL)
fatal("Unsupported hostkey type %d", kex->hostkey_type);
server_host_private = kex->load_host_private_key(kex->hostkey_type);
- if (server_host_private == NULL)
- fatal("Missing private key for hostkey type %d",
- kex->hostkey_type);
/* key, c...
2013 Sep 24
9
[PATCH] curve25519-sha256@libssh.org key exchange proposal
...p.h"
+
+#include <nacl/crypto_scalarmult_curve25519.h>
+#define CURVE25519_PUBKEY_SIZE crypto_scalarmult_curve25519_BYTES
+#define CURVE25519_PRIVKEY_SIZE crypto_scalarmult_curve25519_SCALARBYTES
+
+void
+kexc25519_server(Kex *kex)
+{
+ BIGNUM *shared_secret;
+ Key *server_host_private, *server_host_public;
+ u_char *server_host_key_blob = NULL, *signature = NULL;
+ u_char server_key[CURVE25519_PRIVKEY_SIZE];
+ u_char *client_pubkey = NULL;
+ u_char server_pubkey[CURVE25519_PUBKEY_SIZE];
+ u_char shared_secret_raw[CURVE25519_PUBKEY_SIZE];
+ u_char *hash;
+ u_int rnd=0, sle...