[SOLVED] QSslSocket - Error on OSX since 5.4



  • I run my App 100% fine on my Mac, however I get a lot on warnings with Open SSL. (didnt have those with 5.3.2)

    QSslSocket: cannot resolve TLSv1_1_client_method
    QSslSocket: cannot resolve TLSv1_2_client_method
    QSslSocket: cannot resolve TLSv1_1_server_method
    QSslSocket: cannot resolve TLSv1_2_server_method
    QSslSocket: cannot resolve SSL_select_next_proto
    QSslSocket: cannot resolve SSL_CTX_set_next_proto_select_cb
    QSslSocket: cannot resolve SSL_get0_next_proto_negotiated
    QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated
    QSslSocket: cannot call unresolved function SSL_get0_next_proto_negotiated

    Project is linked to SSL :
    @ LIBS += -lcrypto -lssl@

    I thought Mac OSX ship with Open SSL installed already? was I wrong? on windows I shipped the 2 needed .dll.



  • Update:
    Not sure why this only happen since 5.4, did they change the version of openSSL used in the QWebView?
    Right now I only get theses error (seems like warning) because the software is running fine, just wondering why they are there and how to fix them..

    Tried every possible linking of open-ssl in my .pro

    @ #LIBS += -lcrypto -lssl
    LIBS += /usr/local/ssl/lib/libssl.a
    LIBS += /usr/local/ssl/lib/libcrypto.a@

    I can confirm it's related to 5.4, I still have 5.3.2 installed on my OS X, and can compile and execute without the warnings

    Thanks



  • Here is most of my .pro file:

    Note, I haven't moved to QWebEngine yet as I need cookie management and can't do that yet with QWebEngine. Thanks

    @win32 {
    RC_FILE = myapp.rc
    DEFINES += NOMINMAX

    #SFML
    INCLUDEPATH += C:/Dropbox/SFML-2.1-windows-vc11-32bits/include
    LIBS +=  C:/Dropbox/SFML-2.1-windows-vc11-32bits/lib/sfml-audio.lib
    
    #SSL
    LIBS += C:/Dropbox/OpenSSL-Win32/lib/libeay32.lib
    LIBS += C:/Dropbox/OpenSSL-Win32/lib/ssleay32.lib
    
    #QWT
    INCLUDEPATH += C:/Dropbox/qwt-6.1.0/src
    include ( C:/Dropbox/qwt-6.1.0/qwt.prf )
    

    }
    #////////////////////////////////////////////////////////////////////////////////////////////////////////
    macx {
    ICON = myappico.icns
    #QMAKE_MAC_SDK = macosx10.9 #building on Mavericks

    CONFIG += x86_64
    CONFIG -= i386
    
    #SSL
    LIBS   += -lcrypto -lssl
    
    
    #SFML
    INCLUDEPATH +=  /Users/tourlou2/Dropbox/SFML-2.1-osx-clang-universal/include
    LIBS += /Users/tourlou2/Dropbox/SFML-2.1-osx-clang-universal/lib/libsfml-audio.2.1.dylib
    LIBS += /Users/tourlou2/Dropbox/SFML-2.1-osx-clang-universal/lib/libsfml-system.2.1.dylib
    
    
    #QWT
    include ( /Users/tourlou2/Dropbox/qwt-6.1.0/qwt.prf )
    
    #VLC source
    include (core/core.pri)
    include (widgets/widgets.pri)
    include (vlc/vlc.pri)
    

    }@



  • On further search, 5.4 use a new version of openSSL, and on Mac OS, they still use an old version and some function are not compatibles.
    So I would have to ship the openSSL .dylib with my software, I'm not gonna do that, will wait for OSX to update their package like they should, the messages are just warning anyway.
    Thanks


  • Lifetime Qt Champion

    Hi,

    Apple isn't going to update OpenSSL anytime soon. They are providing their own cryptographic framework and recommend against using OpenSSL. They don't even ship OpenSSL for iOS.

    Anyway, there's work in progress to get the "native" framework used in Qt 5 for both OS X and iOS


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.