Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-20607

SSL is not supported in QtC under Linux

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • None
    • Qt Creator 4.6.1
    • All Other Issues
    • None

    Description

      Not sure it is completely QtC related bug: could be Qt installation package or build issue under Linux. Help->System information shows:

      Network: SSL is not supported.
      ...
      qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
      qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
      qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
      qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
      qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
      qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
      qt.network.ssl: QSslSocket: cannot resolve sk_new_null
      qt.network.ssl: QSslSocket: cannot resolve sk_push
      qt.network.ssl: QSslSocket: cannot resolve sk_free
      qt.network.ssl: QSslSocket: cannot resolve sk_num
      qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
      qt.network.ssl: QSslSocket: cannot resolve sk_value
      qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
      qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
      qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
      qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
      qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
      qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
      qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
      qt.network.ssl: QSslSocket: cannot resolve SSLeay
      qt.network.ssl: Incompatible version of OpenSSL
      

      When building 4.6.1 from sources with custom QtC plugin which connects over network by HTTPS (SSL) protocol (connection) over network

      networkManager->post(request, data)

      I get same errors as above:

      qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
      qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
      qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
      qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
      qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
      qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
      qt.network.ssl: QSslSocket: cannot resolve sk_new_null
      qt.network.ssl: QSslSocket: cannot resolve sk_push
      qt.network.ssl: QSslSocket: cannot resolve sk_free
      qt.network.ssl: QSslSocket: cannot resolve sk_num
      qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
      qt.network.ssl: QSslSocket: cannot resolve sk_value
      qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
      qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
      qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
      qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
      qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
      qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
      qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
      qt.network.ssl: QSslSocket: cannot resolve SSLeay
      qt.network.ssl: Incompatible version of OpenSSL
      Error creating SSL context ()
      

      Injected some diagnostics into my code:

      qDebug() << "SslSupport: " << QSslSocket::supportsSsl();
      qDebug() << "SslLibraryBuildVersion: " << QSslSocket::sslLibraryBuildVersionString();
      qDebug() << "SslLibraryRuntimeVersion: " << QSslSocket::sslLibraryVersionString();
      

      Which prints following output:

      SslSupport:  false
      SslLibraryBuildVersion:  "OpenSSL 1.0.2k-fips  26 Jan 2017"
      SslLibraryRuntimeVersion:  ""

      Under Linux I have installed openssl libraries versions: 1.0.2n and 1.1.0h including development packages. Latest one is primary on the system, can't remove. I tried to install exact version QtC was built with - 1.0.2k-fips - same result and errors as well.

      On Mac my code and the plugin works just fine, SSL connection establishes successfully. Think need to deploy somehow proper openssl library version with QtC and/or Qt online installer or allow it to load libraries available in Linux system.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTCREATORBUG-20607
          # Subject Branch Project Status CR V

          Activity

            People

              con Eike Ziller
              jirauser39314 user-45b5b (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes