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)) {