Perl *IO::Socket::SSL* now supports ECDHE
Support for Elliptic Curve Diffie–Hellman Exchange (ECDHE) has been added to the *IO::Socket::SSL* Perl module. The new `SSL_ecdh_curve` option can be used for specifying a suitable curve by the Object Identifier (OID) or Name Identifier (NID). As a result, it is now possible to override the default elliptic curve parameters when implementing a TLS client using *IO::Socket:SSL*.
[...]
--- Additional comment from Deepak Das on 2014-02-27 08:45:44 GMT ---
The issue is not from openssl end. The issue seems to be on perl side.
During ssl handshake "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" cipher was selected. It seems perl shipped with RHEL 6.5 does not have support to handle ECDHE based connection.
When following cpan modules were installed in perl the issue got resolved.
1) cpan Net::SSLeay
2) cpan IO::Socket::SSL
--- Additional comment from Tomas Mraz on 2014-02-27 09:49:01 GMT ---
This is fairly strange as the TLS client side should not require any code changes for ECDHE support. Perhaps just rebuild of these perl packages would help?
Reassigning.
--- Additional comment from Petr Pisar on 2014-02-27 10:22:43 GMT ---
Rebuild is not enough. One has to add the support to the binding and upper layers.
Support for ECDH has been added by upstream in IO-Socket-SSL-1.955 and Net-SSLeay-1.56.
RHEL-6 delivers perl-IO-Socket-SSL-1.31-2.el6 and perl-Net-SSLeay-1.35-9.el6.
[...]
--- Additional comment from Petr Pisar on 2014-03-19 06:54:38 GMT ---
There is definitely the problem that Perl TLS libraries as delivered by Red Hat Enterprise Linux 6 now do not support ECDHE. We will focus on this issue first.
We need to port the support available from latest version as described in comment #19.
----
IO::Socket:SSL as layer above Net::SSLeay has to be fixed too.
The reproducer is t/ecdhe.t from recent IO-Socket-SSL test suite <http://cpansearch.perl.org/src/SULLR/IO-Socket-SSL-1.969/t/ecdhe.t>.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHBA-2016-0768.html