summaryrefslogtreecommitdiffstats
path: root/src/network/ssl/qsslellipticcurve_openssl.cpp
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2014-11-24 11:01:17 +0100
committerAndré Klitzing <aklitzing@gmail.com>2015-01-21 10:41:39 +0100
commit2ec2dbed67f8d4af562953f8199856e4ed181523 (patch)
treec14e086f73004c19d2fbea97ba00610f5d8840b7 /src/network/ssl/qsslellipticcurve_openssl.cpp
parent309c8042391a6b7365309702e1dbd4b9eb6fcc44 (diff)
QSslEllipticCurve: add fromLongName
Since the conversion to a long name was already there, also support creation from a long name. Change-Id: Iad712db7447fb0a0a18f600b7db54da5b5b87154 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/network/ssl/qsslellipticcurve_openssl.cpp')
-rw-r--r--src/network/ssl/qsslellipticcurve_openssl.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp
index d8d1307b2e..e8f6cfee9e 100644
--- a/src/network/ssl/qsslellipticcurve_openssl.cpp
+++ b/src/network/ssl/qsslellipticcurve_openssl.cpp
@@ -103,6 +103,26 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
return result;
}
+QSslEllipticCurve QSslEllipticCurve::fromLongName(const QString &name)
+{
+ if (name.isEmpty())
+ return QSslEllipticCurve();
+
+ QSslSocketPrivate::ensureInitialized();
+
+ QSslEllipticCurve result;
+
+#ifndef OPENSSL_NO_EC
+ const QByteArray curveNameLatin1 = name.toLatin1();
+
+ int nid = q_OBJ_ln2nid(curveNameLatin1.data());
+ result.id = nid;
+#endif
+
+ return result;
+}
+
+
// The brainpool curve NIDs (RFC 7027) have been introduced in OpenSSL 1.0.2,
// redefine them here to make Qt compile with previous versions of OpenSSL
// (yet correctly recognize them as TLS named curves).