[racket-dev] [patch] OpenSSL ECDH(E) + DHE support.
Full disclosure: I am not an OpenSSL expert and this patch is still
a work in progress. I will hopefully have a more finalized patch
closer to next week, but I am not qualified to audit this code.
On Sun, Feb 09, 2014 at 04:40:44PM -0500, Neil Van Dyke wrote:
> Edward Lee wrote at 02/08/2014 05:52 PM:
> [...]
> >Racket's OpenSSL bindings do not currently enable the ECDH(E) and the
> >DHE ciphers, which are needed for perfect forward secrecy.
> >
> >I've attached a patch that:
> [...]
>
> First, thanks for taking the initiative and contributing. Second, I
> feel a little embarrassed saying this, since I don't have time to
> volunteer myself right now, but I think the following is
> important...
>
> I suggest that any contributions touching SSL in the core need
> careful auditing by someone who understands the mechanics fully. If
> Edward is an expert on this aspect of OpenSSL, his audit would be
> fine, but otherwise someone else has to audit it.
>
> To emphasize: The SSL infrastructure and OpenSSL are both hairy, and
> a small mistake can defeat SSL altogether without being detected for
> years. This has actually happened before, notably with SSL traffic
> on Debian and Ubuntu systems being compromised for over a year by a
> one-line mistake ("https://www.schneier.com/blog/archives/2008/05/random_number_b.html").
> From a Racket extension perspective, in addition to possible logic
> errors of API usage, there's also possible C memory errors through
> the FFI.
>
> Neil V.