diff options
author | André Klitzing <aklitzing@gmail.com> | 2014-11-18 10:18:18 +0100 |
---|---|---|
committer | André Klitzing <aklitzing@gmail.com> | 2015-01-18 10:18:43 +0100 |
commit | 962ea5690cb9351822c30da534ecae7aeeba667d (patch) | |
tree | c3fef960ae04c61bd55426cc05c7a910b8b48f52 /src/network/ssl/qsslcertificate_openssl.cpp | |
parent | a6a865e24999bf878f6f80341b7fc14f2b67a05e (diff) |
Add elliptic curve support to QSsl
Add possibility to get length and other information of EC based
certificates. Also it is possible to parse those public/private
keys from PEM and DER encoded files.
Based on patch by Remco Bloemen
[ChangeLog][QtNetwork][SSL/TLS support] It is now possible to
parse elliptic curve certificates.
Change-Id: I4b11f726296aecda89c3cbd195d7c817ae6fc47b
Task-number: QTBUG-18972
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network/ssl/qsslcertificate_openssl.cpp')
-rw-r--r-- | src/network/ssl/qsslcertificate_openssl.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp index 065f0bfd04..4cb2e525eb 100644 --- a/src/network/ssl/qsslcertificate_openssl.cpp +++ b/src/network/ssl/qsslcertificate_openssl.cpp @@ -249,6 +249,12 @@ QSslKey QSslCertificate::publicKey() const key.d->dsa = q_EVP_PKEY_get1_DSA(pkey); key.d->algorithm = QSsl::Dsa; key.d->isNull = false; +#ifndef OPENSSL_NO_EC + } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) { + key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey); + key.d->algorithm = QSsl::Ec; + key.d->isNull = false; +#endif } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) { // DH unsupported } else { |