Support ECDH key exchange.
authorGuus Sliepen <guus@tinc-vpn.org>
Sun, 3 Jul 2011 11:17:28 +0000 (13:17 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Sun, 3 Jul 2011 11:17:28 +0000 (13:17 +0200)
commit8dfa072733feab737cabf69f000c70657719826a
tree642b2ae61cf5d0e2fb69b6fcef755ee2f1c51a89
parentee8a214318fd6dbe6bc5d6b510896f30d92d46c6
Support ECDH key exchange.

REQ_KEY requests have an extra field indicating key exchange version.
If it is present and > 0, the sender supports ECDH. If the receiver also
does, then it will generate a new keypair and sends the public key in a
ANS_KEY request with "ECDH:" prefixed. The ans_key_h() function will
compute the shared secret, which, at the moment,is used as is to set the
cipher and HMAC keys. However, this must be changed to use a proper KDF.
In the future, the ECDH key exchange must also be signed.
src/node.h
src/openssl/ecdh.h
src/protocol_key.c