This patch adds EC_KEY_new_by_curve_name(), EC_KEY_free*() and
SSL_CTX_set_tmp_ecdh().
This is ported from Net-SSLeay-1.56 to version 1.55.
diff -up Net-SSLeay-1.55/SSLeay.xs.orig Net-SSLeay-1.55/SSLeay.xs
--- Net-SSLeay-1.55/SSLeay.xs.orig 2016-03-10 10:42:52.267612772 +0100
+++ Net-SSLeay-1.55/SSLeay.xs 2016-03-10 09:56:18.846933771 +0100
@@ -4127,6 +4127,23 @@ SSL_CTX_set_tmp_rsa(ctx,rsa)
SSL_CTX * ctx
RSA * rsa
+#if OPENSSL_VERSION_NUMBER > 0x10000000L
+
+EC_KEY *
+EC_KEY_new_by_curve_name(nid)
+ int nid
+
+void
+EC_KEY_free(key)
+ EC_KEY * key
+
+long
+SSL_CTX_set_tmp_ecdh(ctx,ecdh);
+ SSL_CTX * ctx
+ EC_KEY * ecdh
+
+#endif
+
void *
SSL_get_app_data(s)
SSL * s
diff -up Net-SSLeay-1.55/typemap.orig Net-SSLeay-1.55/typemap
--- Net-SSLeay-1.55/typemap.orig 2016-03-10 10:40:49.886151370 +0100
+++ Net-SSLeay-1.55/typemap 2016-03-10 10:41:37.640941202 +0100
@@ -6,6 +6,7 @@ SSL_SESSION * T_PTR
SSL * T_PTR
RSA * T_PTR
DH * T_PTR
+EC_KEY * T_PTR
const X509 * T_PTR
const X509_CRL * T_PTR
const X509_REQ * T_PTR
diff -up Net-SSLeay-1.55/lib/Net/SSLeay.pod.orig Net-SSLeay-1.55/lib/Net/SSLeay.pod
--- Net-SSLeay-1.55/lib/Net/SSLeay.pod.orig 2016-03-10 12:23:38.706870006 +0100
+++ Net-SSLeay-1.55/lib/Net/SSLeay.pod 2016-03-10 12:28:04.280365357 +0100
@@ -7500,6 +7500,25 @@ Enable or disable FIPS mode in a FIPS ca
=back
+=head3 Low level API: EC related functions
+
+=over
+
+=item * CTX_set_tmp_ecdh
+
+TBA
+
+=item * EC_KEY_free
+
+TBA
+
+=item * EC_KEY_new_by_curve_name
+
+TBA
+
+=back
+
+
=head2 Constants
There are many openssl constants available in L<Net::SSLeay>. You can use them like this: