Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-16018

QSslSocket may not load OpenSSL dynamic engines

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Done
    • P3: Somewhat important
    • Some future release
    • 4.7.1
    • Network: SSL
    • None
    • 82f9ad6295fb35e138841810a05075214a2f2690 (qtbase/master, 3.1.2012, 5.3)

    Description

      By default SSL classes of QtNetwork library are not using OpenSSL's dynamically loaded engines so one can not use, for example, GOST2001-GOST89-GOST89 and GOST94-GOST89-GOST89 ciphers.

      To fix that, we may add OPENSSL_config(NULL) call just before SSL_library_init().
      So we need to add:
      into qsslsocket_openssl_symbols_p.h - 
          void q_OPENSSL_config(const char *a) before q_ssl_library_init() declaration
      
      into qsslsocket_openssl_symbols.cpp - 
          DEFINEFUNC(void, OPENSSL_config, const char *a, a, return, DUMMYARG) before DEFINEFUNC(SSL_library_init ...)
          RESOLVEFUNC(OPENSSL_config, 0, libs.second) in #if defined Q_OS_SYMBIAN section (sorry, don't have symbian sdk - don't know ordinal for OPENSSL_config, use 0 instead - must be fixed)
          RESOLVEFUNC(OPENSSL_config) in other hand
      
      into qsslsocket_openssl.cpp
          q_OPENSSL_config(0); 
          in bool QSSLSocketPrivate::ensureLibraryLoaded() just before if(q_SSL_library_init() ... )
      

      After this modification QSslSocket::supportedCiphers() returns GOST2001-GOST89-GOST89 and GOST94-GOST89-GOST89 ciphers if OpenSSL is configured properly.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              richmoore Richard Moore (qtnetwork)
              w0lfhead Alexander Smyshliaev
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes