From e655a4e89ff55419457be92097134f0163564477 Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 Date: Fri, 11 Oct 2024 10:02:39 +0200 Subject: [PATCH] openssl fixes for windows --- .gitignore | 1 + flotten-updater/CMakeLists.txt | 11 +++++++++-- flotten-updater/importcertificatedialog.cpp | 6 ++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 7f4826b..bf3241b 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ compile_commands.json *creator.user* *_qmlcache.qrc +build/ \ No newline at end of file diff --git a/flotten-updater/CMakeLists.txt b/flotten-updater/CMakeLists.txt index 383ccaa..e8f8ce5 100644 --- a/flotten-updater/CMakeLists.txt +++ b/flotten-updater/CMakeLists.txt @@ -22,13 +22,20 @@ add_executable(flotten-updater setarbitraryapikeydialog.ui ) +find_package(OpenSSL) +if (OpenSSL_Found) + target_compile_definitions(flotten-updater HAS_OPENSSL) + target_link_libraries(flotten-updater PUBLIC + OpenSSL::SSL + OpenSSL::Crypto + ) +endif() + target_link_libraries(flotten-updater PUBLIC Qt6::Core Qt6::Gui Qt6::Widgets Qt6::WebSockets - ssl - crypto goecommon ) diff --git a/flotten-updater/importcertificatedialog.cpp b/flotten-updater/importcertificatedialog.cpp index 65cb954..377e77c 100644 --- a/flotten-updater/importcertificatedialog.cpp +++ b/flotten-updater/importcertificatedialog.cpp @@ -7,11 +7,15 @@ #include #include +#ifdef HAS_OPENSSL #include +#endif +#ifdef HAS_OPENSSL namespace { OSSL_PROVIDER *legacy{}; } +#endif ImportCertificateDialog::ImportCertificateDialog(QWidget *parent) : QDialog{parent}, @@ -70,12 +74,14 @@ void ImportCertificateDialog::loadP12File() QSslCertificate cert; QList certChain; +#ifdef HAS_OPENSSL if (QSslSocket::activeBackend() == "openssl" && !legacy) { legacy = OSSL_PROVIDER_load(NULL, "legacy"); if (!legacy) QMessageBox::warning(this, tr("Failed to load openssl legacy provider!"), tr("Failed to load openssl legacy provider!")); } +#endif if (!QSslCertificate::importPkcs12(&file, &key, &cert, &certChain, password)) {