1# OpenSSL support; compile in QSslSocket. 2 3HEADERS += ssl/qasn1element_p.h \ 4 ssl/qssl.h \ 5 ssl/qssl_p.h \ 6 ssl/qsslcertificate.h \ 7 ssl/qsslcertificate_p.h \ 8 ssl/qsslcertificateextension.h \ 9 ssl/qsslcertificateextension_p.h 10 11SOURCES += ssl/qasn1element.cpp \ 12 ssl/qssl.cpp \ 13 ssl/qsslcertificate.cpp \ 14 ssl/qsslcertificateextension.cpp 15 16!qtConfig(openssl): SOURCES += ssl/qsslcertificate_qt.cpp 17 18qtConfig(ssl) { 19 HEADERS += ssl/qsslconfiguration.h \ 20 ssl/qsslconfiguration_p.h \ 21 ssl/qsslcipher.h \ 22 ssl/qsslcipher_p.h \ 23 ssl/qssldiffiehellmanparameters.h \ 24 ssl/qssldiffiehellmanparameters_p.h \ 25 ssl/qsslellipticcurve.h \ 26 ssl/qsslerror.h \ 27 ssl/qsslkey.h \ 28 ssl/qsslkey_p.h \ 29 ssl/qsslsocket.h \ 30 ssl/qsslsocket_p.h \ 31 ssl/qsslpresharedkeyauthenticator.h \ 32 ssl/qsslpresharedkeyauthenticator_p.h \ 33 ssl/qocspresponse.h \ 34 ssl/qocspresponse_p.h 35 SOURCES += ssl/qsslconfiguration.cpp \ 36 ssl/qsslcipher.cpp \ 37 ssl/qssldiffiehellmanparameters.cpp \ 38 ssl/qsslellipticcurve.cpp \ 39 ssl/qsslkey_p.cpp \ 40 ssl/qsslerror.cpp \ 41 ssl/qsslsocket.cpp \ 42 ssl/qsslpresharedkeyauthenticator.cpp \ 43 ssl/qocspresponse.cpp 44 45 winrt { 46 HEADERS += ssl/qsslsocket_winrt_p.h 47 SOURCES += ssl/qsslcertificate_winrt.cpp \ 48 ssl/qssldiffiehellmanparameters_dummy.cpp \ 49 ssl/qsslkey_qt.cpp \ 50 ssl/qsslkey_winrt.cpp \ 51 ssl/qsslsocket_winrt.cpp \ 52 ssl/qsslellipticcurve_dummy.cpp 53 } 54 55 qtConfig(schannel) { 56 HEADERS += ssl/qsslsocket_schannel_p.h 57 SOURCES += ssl/qsslsocket_schannel.cpp \ 58 ssl/qsslcertificate_schannel.cpp \ 59 ssl/qsslkey_schannel.cpp \ 60 ssl/qsslkey_qt.cpp \ 61 ssl/qssldiffiehellmanparameters_dummy.cpp \ 62 ssl/qsslellipticcurve_dummy.cpp \ 63 ssl/qsslsocket_qt.cpp 64 65 LIBS_PRIVATE += "-lSecur32" "-lCrypt32" "-lbcrypt" "-lncrypt" 66 } 67 68 qtConfig(securetransport) { 69 HEADERS += ssl/qsslsocket_mac_p.h 70 SOURCES += ssl/qssldiffiehellmanparameters_dummy.cpp \ 71 ssl/qsslkey_qt.cpp \ 72 ssl/qsslkey_mac.cpp \ 73 ssl/qsslsocket_mac_shared.cpp \ 74 ssl/qsslsocket_mac.cpp \ 75 ssl/qsslsocket_qt.cpp \ 76 ssl/qsslellipticcurve_dummy.cpp 77 } 78 79 qtConfig(dtls) { 80 HEADERS += ssl/qdtls.h \ 81 ssl/qdtls_p.h 82 83 SOURCES += ssl/qdtls.cpp 84 } 85 86 qtConfig(openssl) { 87 HEADERS += ssl/qsslcontext_openssl_p.h \ 88 ssl/qsslsocket_openssl_p.h \ 89 ssl/qsslsocket_openssl_symbols_p.h 90 SOURCES += ssl/qsslsocket_openssl_symbols.cpp \ 91 ssl/qssldiffiehellmanparameters_openssl.cpp \ 92 ssl/qsslcertificate_openssl.cpp \ 93 ssl/qsslellipticcurve_openssl.cpp \ 94 ssl/qsslkey_openssl.cpp \ 95 ssl/qsslsocket_openssl.cpp \ 96 ssl/qsslcontext_openssl.cpp \ 97 98 qtConfig(dtls) { 99 HEADERS += ssl/qdtls_openssl_p.h 100 SOURCES += ssl/qdtls_openssl.cpp 101 } 102 103 qtConfig(ocsp): HEADERS += ssl/qocsp_p.h 104 105 QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L 106 107 darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp 108 109 android:!android-embedded: SOURCES += ssl/qsslsocket_openssl_android.cpp 110 111 # Add optional SSL libs 112 # Static linking of OpenSSL with msvc: 113 # - Binaries http://slproweb.com/products/Win32OpenSSL.html 114 # - also needs -lUser32 -lAdvapi32 -lGdi32 -lCrypt32 115 # - libs in <OPENSSL_DIR>\lib\VC\static 116 # - configure: -openssl -openssl-linked -I <OPENSSL_DIR>\include -L <OPENSSL_DIR>\lib\VC\static OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32" OPENSSL_LIBS_DEBUG="-lssleay32MDd -llibeay32MDd" OPENSSL_LIBS_RELEASE="-lssleay32MD -llibeay32MD" 117 118 qtConfig(openssl-linked): { 119 android { 120 build_pass|single_android_abi: LIBS_PRIVATE += -lssl_$${QT_ARCH} -lcrypto_$${QT_ARCH} 121 } else: QMAKE_USE_FOR_PRIVATE += openssl 122 } else: \ 123 QMAKE_USE_FOR_PRIVATE += openssl/nolink 124 win32 { 125 LIBS_PRIVATE += -lcrypt32 126 HEADERS += ssl/qwindowscarootfetcher_p.h 127 SOURCES += ssl/qwindowscarootfetcher.cpp 128 } 129 } 130} 131 132HEADERS += ssl/qpassworddigestor.h 133SOURCES += ssl/qpassworddigestor.cpp 134