diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2014-11-24 11:01:17 +0100 |
---|---|---|
committer | André Klitzing <aklitzing@gmail.com> | 2015-01-21 10:41:39 +0100 |
commit | 2ec2dbed67f8d4af562953f8199856e4ed181523 (patch) | |
tree | c14e086f73004c19d2fbea97ba00610f5d8840b7 /src/network/ssl/qsslellipticcurve_openssl.cpp | |
parent | 309c8042391a6b7365309702e1dbd4b9eb6fcc44 (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.cpp | 20 |
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). |