I would like to code a homemade key exchange system. Let's say i want to do what openssl does but using another physical channel. For example: Do the key exchange using a radio communication channel and data tranfer using a DSL line.
this is an interesting idea but it would mean a protocol of openvpn itself; you would not have to change the openssl code but you will end up with a non-compatible version of openvpn
If i am not wrong both key negotiation(initial and data channel key exchange) are done by TLS/SSL.
the data channel key exchange is done by OpenVPN itself , not using any standard TLS/SSL techniques.