ECDHE support by @amluto