version 1.2, 2001/04/03 23:32:12 |
version 1.3, 2001/04/04 09:48:34 |
|
|
shared_secret |
shared_secret |
); |
); |
xfree(server_host_key_blob); |
xfree(server_host_key_blob); |
DH_free(dh); |
|
BN_free(dh_server_pub); |
BN_free(dh_server_pub); |
|
DH_free(dh); |
|
|
if (key_verify(server_host_key, (u_char *)signature, slen, hash, 20) != 1) |
if (key_verify(server_host_key, (u_char *)signature, slen, hash, 20) != 1) |
fatal("key_verify failed for server_host_key"); |
fatal("key_verify failed for server_host_key"); |
|
|
|
|
kex_derive_keys(kex, hash, shared_secret); |
kex_derive_keys(kex, hash, shared_secret); |
BN_clear_free(shared_secret); |
BN_clear_free(shared_secret); |
kex_send_newkeys(); |
kex_finish(kex); |
} |
} |
|
|
/* server */ |
/* server */ |
|
|
packet_put_bignum2(dh->pub_key); /* f */ |
packet_put_bignum2(dh->pub_key); /* f */ |
packet_put_string((char *)signature, slen); |
packet_put_string((char *)signature, slen); |
packet_send(); |
packet_send(); |
|
|
xfree(signature); |
xfree(signature); |
xfree(server_host_key_blob); |
xfree(server_host_key_blob); |
|
/* have keys, free DH */ |
|
DH_free(dh); |
|
|
kex_derive_keys(kex, hash, shared_secret); |
kex_derive_keys(kex, hash, shared_secret); |
BN_clear_free(shared_secret); |
BN_clear_free(shared_secret); |
kex_send_newkeys(); |
kex_finish(kex); |
|
|
/* have keys, free DH */ |
|
DH_free(dh); |
|
} |
} |
|
|
void |
void |