summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJannis Voelker <jannis.voelker@basyskom.com>2020-08-24 15:22:59 +0200
committerJannis Voelker <jannis.voelker@basyskom.com>2020-09-08 16:11:24 +0200
commit326441ae71afd215f7471222f0ea82568d87ff1a (patch)
tree4a1020e2f59dc0990b18cc002c48b3e8dd9adb47
parent9c06176f1af0db839de59c89b4332c230fd0be94 (diff)
CMake: Port the open62541 plugin to OpenSSL
Open62541 v1.1 has been extended with an OpenSSL based security plugin. This change removes the mbedTLS dependency for the CMake build of the open62541 plugin and uses FindWrapOpenSSL.cmake to detect security support. The bundled open62541 amalgamation build contains the changes from https://github.com/open62541/open62541/pull/3876 [ChangeLog][open62541 plugin] Security support now uses OpenSSL instead of mbedTLS Change-Id: I29a15c08a67593219a6c637116f84d27c0702db5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r--cmake/FindMbedtls.cmake67
-rw-r--r--examples/opcua/opcuaviewer/pki/own/certs/opcuaviewer.derbin1121 -> 1610 bytes
-rw-r--r--examples/opcua/opcuaviewer/pki/own/private/opcuaviewer.pem52
-rw-r--r--examples/opcua/opcuaviewer/pki/trusted/certs/open62541-testserver.derbin1127 -> 1161 bytes
-rw-r--r--src/3rdparty/open62541/open62541.c7
-rw-r--r--src/opcua/configure.cmake46
-rw-r--r--src/opcua/doc/src/qtopcua.qdoc4
-rw-r--r--src/plugins/opcua/open62541/CMakeLists.txt22
-rw-r--r--src/plugins/opcua/open62541/qopen62541node.h2
-rw-r--r--tests/auto/clientSetupInCpp/CMakeLists.txt2
-rw-r--r--tests/auto/declarative/CMakeLists.txt2
-rw-r--r--tests/auto/qopcuaclient/CMakeLists.txt2
-rw-r--r--tests/auto/security/pki/trusted/certs/open62541-testserver.derbin1127 -> 1161 bytes
-rw-r--r--tests/open62541-testserver/CMakeLists.txt22
-rw-r--r--tests/open62541-testserver/pki/own/certs/open62541-testserver.derbin1127 -> 1161 bytes
-rw-r--r--tests/open62541-testserver/pki/own/private/open62541-testserver.derbin1216 -> 1675 bytes
-rw-r--r--tests/open62541-testserver/pki/trusted/certs/opcuaviewer.derbin1121 -> 1610 bytes
17 files changed, 96 insertions, 132 deletions
diff --git a/cmake/FindMbedtls.cmake b/cmake/FindMbedtls.cmake
deleted file mode 100644
index 9e29ea1..0000000
--- a/cmake/FindMbedtls.cmake
+++ /dev/null
@@ -1,67 +0,0 @@
-#.rst:
-# FindMbedtls
-# ---------
-#
-# Try to locate the mbedTLS library.
-# If found, this will define the following variables:
-#
-# ``Mbedtls_FOUND``
-# True if the mbedtls library is available
-# ``Mbedtls_INCLUDE_DIRS``
-# The mbedTLS include directories
-# ``Mbedx509_LIBRARIES``
-# The mbedx509 library for linking
-# ``Mbedcrypto_LIBRARIES``
-# The mbedcrypto library for linking
-#
-# If ``Mbedtls_FOUND`` is TRUE, it will also define the following
-# imported targets:
-#
-# ``mbedx509``
-# The mbedx509 library
-# ``mbedcrypto``
-# The mbedcrypto library
-# ``mbedtls``
-# An interface library combining mbedx509 and mbedcrypto
-
-
-find_path(Mbedtls_INCLUDE_DIRS
- NAMES mbedtls/x509_crt.h
- HINTS ${MBEDTLS_INCDIR})
-
-find_library(Mbedx509_LIBRARIES
- NAMES mbedx509
- HINTS ${MBEDTLS_LIBDIR})
-
-find_library(Mbedcrypto_LIBRARIES
- NAMES mbedcrypto
- HINTS ${MBEDTLS_LIBDIR})
-
-if (NOT Mbedtls_INCLUDE_DIRS STREQUAL "Mbedtls_INCLUDE_DIRS-NOTFOUND"
- AND NOT Mbedx509_LIBRARIES STREQUAL "Mbedx09_LIBRARIES-NOTFOUND"
- AND NOT Mbedcrypto_LIBRARIES STREQUAL "Mbedcrypto_LIBRARIES-NOTFOUND")
- set(Mbedtls_FOUND ON)
-endif()
-
-if (Mbedtls_FOUND)
- add_library(mbedx509 UNKNOWN IMPORTED)
- set_target_properties(mbedx509 PROPERTIES
- IMPORTED_LOCATION "${Mbedx509_LIBRARIES}"
- INTERFACE_INCLUDE_DIRECTORIES "${Mbedtls_INCLUDE_DIRS}")
-
- add_library(mbedcrypto UNKNOWN IMPORTED)
- set_target_properties(mbedcrypto PROPERTIES
- IMPORTED_LOCATION "${Mbedcrypto_LIBRARIES}"
- INTERFACE_INCLUDE_DIRECTORIES "${Mbedtls_INCLUDE_DIRS}")
-
- add_library(mbedtls INTERFACE IMPORTED)
- set_property(TARGET mbedtls PROPERTY
- INTERFACE_LINK_LIBRARIES mbedx509 mbedcrypto)
-endif()
-
-mark_as_advanced(Mbedtls_INCLUDE_DIRS Mbedx509_LIBRARIES Mbedcrypto_LIBRARIES)
-
-include(FeatureSummary)
-set_package_properties(Mbedtls PROPERTIES
- URL "https://tls.mbed.org/"
- DESCRIPTION "The mbedTLS library")
diff --git a/examples/opcua/opcuaviewer/pki/own/certs/opcuaviewer.der b/examples/opcua/opcuaviewer/pki/own/certs/opcuaviewer.der
index ef7ef42..638b3b9 100644
--- a/examples/opcua/opcuaviewer/pki/own/certs/opcuaviewer.der
+++ b/examples/opcua/opcuaviewer/pki/own/certs/opcuaviewer.der
Binary files differ
diff --git a/examples/opcua/opcuaviewer/pki/own/private/opcuaviewer.pem b/examples/opcua/opcuaviewer/pki/own/private/opcuaviewer.pem
index 52aeb30..398bdf6 100644
--- a/examples/opcua/opcuaviewer/pki/own/private/opcuaviewer.pem
+++ b/examples/opcua/opcuaviewer/pki/own/private/opcuaviewer.pem
@@ -1,28 +1,28 @@
-----BEGIN PRIVATE KEY-----
-MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDj0NCbOXIToCPB
-JQetcDC+VaU8YtwhFb0WeeEPd18x6pNdnnYtEdQe8dcHD+7H2MT7tAMFOfvI2oMa
-90whLfErqXs9onUVrAPTO4g3zdonim5HqB/q7TuRapmlgUxltXo4anPm/I4UA6M8
-R9lH/PvErm1IUs5G83eeq8V5a53Y+lG8nOiuOI2wtep9Vzh8fK9esSr17L6dRj+4
-pm9tIjyBrAe3B+/XwHu4ZdYqY7q8ZZscZcjxStRakOnyU1DI95VplyRnlp6MSEr4
-w18GRdfhcC7Y7zF34h/FB0s0VneIycqcyjrninNtwN7XjkpPJz0wkQCvUsTm6mQP
-wyC5naehAgMBAAECggEAcnuvOTInF6G0Fg2rzAbDGAMmJDBx+tZXzYG2DfWpCwac
-w8EsFf4NoPdbXZsuHZPbebm+gtPeqdLVa6m2wj26InzrB9AqEpf83BvgmlqCNLim
-LrBYSdCpzKvLRpaxc7M9Fji4we1M4NXrJBHfKQQC6ZXWKTAjpRgYls4vUJM6IZzG
-oIkclpxKDZGdgeaFo89BchjYQzC9/UovHBXja1LrWLLiUT1cmGH4Hb5+8scgHI8I
-/AXRE1Os7E7BdhEViXcjrDuxTwukzNpZH73aimhpyO/hlY0733b3Wt8BCa8twTpk
-DMK4QTX+5/nFepf+PPLiLNiAJEgQtYNPBItISqKhmQKBgQD8Hk+L1ODo52W6s/2M
-+IMKOqIDyioV8ybnRG6Eh+9042WAOLazSg3k/8ZpM/Oryd0UnRVPxCz8+1C71zWo
-aCNt9SRefTnkP9LCURgz8IiamsUr/9xg7y/li6pxiuGr/Ar8RJTgERe8hvt1g8tU
-tZnRzc3FyE7cKaYKBmmQJnx91wKBgQDnUrfobOKLUp7HtUuep/0mFiCjxhh+/Byr
-IHaKq5DYSWwcuIpeyc+AOl3wgUvUJ2mncneIUy74qB5Sek0fnRikW7gc6BHLyMn/
-KcxzW3zgXHdouhVeX1oqybTvm55O1avwQey3AwxfZFE9FGorFk1kLKgMLgthEg5b
-AGSUng0nRwKBgQC3XoxYlaJngzWYT6UQTQdx/ycrPnTRtiILftgrCHt/Nozyb01i
-pW/pqKZ0idamkZF8lquTcomODnOvy105eVSbevrSxp2+hzURI85IqJ+SYxMZZ2Sw
-FAdwGt8C6hIs9oo+5NqrBYOQGVT3Kb5PhC22TMtnGMNSmfArxnIs5/EPzQKBgDHn
-46tuSlXahkz5rQ3WmkPsRDBxHXnP9HNq9ogmSYKQHJX5rkiS64Rzky6/BlgIBMBO
-bsFniNu2kYwjvJ3Ua6uR6h+6ZZR8hi/ZmbVNiJxy9oQOmWuZ0L8oczO6dCX37TdR
-UbuOGc4+u1QdImaXUi0JgVvXVzcjCRvS8uApVRcjAoGBALOR+BuLKTko3+ySr8q2
-A0z9r8kpIJ2I+T5h+0RiyMDK8mp68r9BiJ5S8K2iDMBQrNO56haXFL7CMSJPh4dA
-MkXZrffD09vlsUwcblkiGODkt8YkC/k6v4xvHJwcjQuDe5Ud4AdXGq0Y45I+fT12
-muDN+fxZySCWcmb1wSEUAtXx
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDfGOEbSa0a+vhg
+Adwwk6gtxpluNTbb8qq/DOpiOARtEgJLgnJtxioRph4V+vPbFNaVOFojOh/yk3L6
+LI3MG6vrky0PAYl0lptOYofFWQnQz7zqtM1ZzYYf28GD5C+4gUNj8QVVYIJii3RJ
+ol2rOivwcaj0jjpVQPaRI5dYGaVkHrTFFW5f5s5LM3dKD3uEOEFUcofU9KChPBpp
+nr1zZRn07XGUPBPl+OZGsdylrN+tRKbVjq0uKRlw9cqBQtgREHRgZOHdSEZge2Zr
+6YCkWJddVgEqpHqZiq5orp3+XciiSJfIUQqTVSk0gzeqHxKLAJIMzySFkCexKnc7
+cvDO8yf9AgMBAAECggEBAIs/8jGgGQZAJAt43cEMSOrZjSb23BkJLH43R4yqvkh9
+9yS+dUIDcHq3nwvFKbRTG2TkWY6nVw2H7zor2Q3PL83IfVVidjNpVeLlKS2K18+X
++qjc1Vf6Kn90ISN7qDWXqUKWS+fwZzGvLZRQXfrkQkzABN8wb0SLWdtZxbtdtpf4
+T4n+y3pyiK0ppfQZd42Fq9fBGGNfnl8A3sWbreVDcNOyZzitlus+aJ6KXeof3N8w
+JQ297lNPMKctzIkptm79/b7YzTT0I1Hk9EwAupVh5ndKsKdHnQPfrlXAwxeRxini
+yVgWs4ltVHGPLG4PeNuz5U4EzSe3nWdTkCrmJ8J+AlkCgYEA/2s9uyt1Evv4uwYu
+wkkS974VNuWC3WnwqcDWErUmH1+m13lzTPvfyLHW3tvzKx+BQB7sbK7b6ewS1yOc
+nE6ecs9gyWohdXpWUXllQsMfm/NG3BCwLEQhPTlMGEdBVlJpJC1nwaudl+8b2PtN
+jAxV+QJDfaYIN/53655rIHf4TM8CgYEA35rQSyW8v6EsRZkH/XCVXTq2e5nk4OBP
+S+uegIGuzPp2yOWli6srWlsMTbPpGVrnAlgj/Cyod/zBFTEgaNbupAzp1eau2yzC
+4EwEAamFaKaeiMhx+EX8uPVQXjx03WFaOxM7a6AHlhWbDPFBtHxO/undQIj2SYxQ
+2D/BaroMqXMCgYAxNyTJ7/G7Grour15LKXFyMzo7PbYdm9A3pWSabjVOTkwDsO86
+oj3YmgvhHViZspRhGpRLzNWrGUX4FnCS3cNCNBteNAkGbfA7+rw8RQTOM+4vcTfB
+D8+n0GaNNw2r6G1B/03Cz6KqJ/ShtqqWlbnrJTiD+X4T7ACHchsKQpOhmQKBgF6C
+XM+mX6TPRpsUF2BzmW4SRtbvMOIrbNi1+gRuy6cvpc0740CpVGWYXhbpl/hzh3hi
+MLOBXKN6XVHLtdsaHTuRibQzEGzq+mM7PeZF9HFLG27M6f759dtnNFTgULTRVQXr
+Fw5iUVKKR0KtJgxXDjyINE/2k8J6YCFGsUWe5YMpAoGBAJ+igv0nkfPYr6khJuDa
+sKs+VNYodRQSrHywtn16GSTLKOimDDfzoUmnsU1RzlVawfDmWurjrxMsq/xLcu2K
+YdhcRPeDn2YugzIQd6SA75RuLwO6duJthw9ppLXzsEiRzVlvtQ2TCwWcnuSZPtV7
+xOLrnCjh6l8tY52zeNMvUXvO
-----END PRIVATE KEY-----
diff --git a/examples/opcua/opcuaviewer/pki/trusted/certs/open62541-testserver.der b/examples/opcua/opcuaviewer/pki/trusted/certs/open62541-testserver.der
index 0bead45..e32d2c3 100644
--- a/examples/opcua/opcuaviewer/pki/trusted/certs/open62541-testserver.der
+++ b/examples/opcua/opcuaviewer/pki/trusted/certs/open62541-testserver.der
Binary files differ
diff --git a/src/3rdparty/open62541/open62541.c b/src/3rdparty/open62541/open62541.c
index 2ca1f25..041cd56 100644
--- a/src/3rdparty/open62541/open62541.c
+++ b/src/3rdparty/open62541/open62541.c
@@ -60855,8 +60855,11 @@ UA_OpenSSL_LoadLocalCertificate(const UA_ByteString *certificate, UA_ByteString
X509_free(cert);
if (length > 0) {
- target->length = (size_t) length;
- target->data = derData;
+ UA_ByteString temp;
+ temp.length = (size_t) length;
+ temp.data = derData;
+ UA_ByteString_copy(&temp, target);
+ OPENSSL_free(derData);
return UA_STATUSCODE_GOOD;
}
diff --git a/src/opcua/configure.cmake b/src/opcua/configure.cmake
index cf54680..1777211 100644
--- a/src/opcua/configure.cmake
+++ b/src/opcua/configure.cmake
@@ -13,34 +13,12 @@ set_property(CACHE INPUT_open62541 PROPERTY STRINGS undefined no qt system)
if (INPUT_open62541 STREQUAL "system")
qt_find_package(Open62541 PROVIDED_TARGETS open62541)
endif()
-qt_find_package(Mbedtls PROVIDED_TARGETS mbedtls)
qt_find_package(Uacpp PROVIDED_TARGETS uacpp)
find_package(WrapOpenSSL 1.1)
# special case end
#### Tests
-# special case begin
-qt_config_compile_test(mbedtls
- LABEL "mbedTLS support"
- LIBRARIES
- mbedtls
- CODE
-"#include <mbedtls/x509.h>
-#include <mbedtls/x509_crt.h>
-
-int main(int argc, char *argv[])
-{
- mbedtls_pk_context pk;
- mbedtls_pk_init( &pk );
-
- mbedtls_x509_crt remoteCertificate;
- mbedtls_x509_crt_init(&remoteCertificate);
-
- return 0;
-}
-")
-# special case end
# special case begin
if (INPUT_open62541 STREQUAL "system")
@@ -106,6 +84,11 @@ int main(int /*argc*/, char ** /*argv*/)
}")
# special case end
+# Find out if the system open62541 is built with encryption support
+include(CheckSymbolExists)
+if (Open62541_FOUND)
+ check_symbol_exists(UA_ENABLE_ENCRYPTION ${Open62541_INCLUDE_DIRS}/open62541.h OPEN62541_SYSTEM_ENCRYPTION)
+endif()
#### Features
@@ -127,10 +110,12 @@ qt_feature("uacpp" PRIVATE
LABEL "Unified Automation C++ SDK"
CONDITION TEST_uacpp # special case
)
-qt_feature("mbedtls" PRIVATE
- LABEL "mbedtls"
- CONDITION Mbedtls_FOUND AND TEST_mbedtls # special case
-)
+# special case begin
+#qt_feature("mbedtls" PRIVATE
+# LABEL "mbedtls"
+# CONDITION Mbedtls_FOUND AND TEST_mbedtls # special case
+#)
+# special case end
qt_feature("ns0idnames" PRIVATE
LABEL "Support for namespace 0 NodeId names"
PURPOSE "Provides names for the QOpcUa::NodeIds::Namespace0 enum."
@@ -145,12 +130,19 @@ qt_feature("gds" PUBLIC PRIVATE
PURPOSE "Enables QOpcUaClient to interact with a global discovery server"
CONDITION WrapOpenSSL_FOUND # special case
)
+# special case begin
+qt_feature("open62541-security" PUBLIC PRIVATE
+ LABEL "Open62541 security support"
+ PURPOSE "Enables the open62541 plugin to connect to servers with signing and encryption"
+ CONDITION (WrapOpenSSL_FOUND AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541) OR OPEN62541_SYSTEM_ENCRYPTION
+)
+# special case end
qt_feature_definition("gds" "QT_NO_GDS" NEGATE VALUE "1")
qt_configure_add_summary_section(NAME "Qt Opcua")
qt_configure_add_summary_entry(ARGS "open62541")
qt_configure_add_summary_entry(ARGS "uacpp")
qt_configure_add_summary_entry(ARGS "ns0idnames")
qt_configure_add_summary_entry(ARGS "ns0idgenerator")
-qt_configure_add_summary_entry(ARGS "mbedtls")
+qt_configure_add_summary_entry(ARGS "open62541-security") # special case
qt_configure_add_summary_entry(ARGS "gds")
qt_configure_end_summary_section() # end of "Qt Opcua" section
diff --git a/src/opcua/doc/src/qtopcua.qdoc b/src/opcua/doc/src/qtopcua.qdoc
index d8eda07..977d9c9 100644
--- a/src/opcua/doc/src/qtopcua.qdoc
+++ b/src/opcua/doc/src/qtopcua.qdoc
@@ -399,6 +399,10 @@
The Open62541 plugin is available under the same licenses as Qt OPC UA. The Open62541 library itself
is licensed under \l {https://open62541}{Mozilla Public License v2.0}.
+ The security support is provided by the OpenSSL plugins of the open62541 library.
+ If the open62541 plugin is built with security support and OpenSSL is not available
+ on the target system, the open62541 plugin will fail to load.
+
\section2 UA CPP
The UA CPP plugin is available under commercial licenses from \l{The Qt Company}.
diff --git a/src/plugins/opcua/open62541/CMakeLists.txt b/src/plugins/opcua/open62541/CMakeLists.txt
index 59c4dfc..3e97746 100644
--- a/src/plugins/opcua/open62541/CMakeLists.txt
+++ b/src/plugins/opcua/open62541/CMakeLists.txt
@@ -40,13 +40,29 @@ qt_extend_target(QOpen62541Plugin CONDITION QT_FEATURE_open62541 AND NOT QT_FEAT
../../../3rdparty/open62541
)
-qt_extend_target(QOpen62541Plugin CONDITION QT_FEATURE_mbedtls AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541
+# special case begin
+#qt_extend_target(QOpen62541Plugin CONDITION QT_FEATURE_mbedtls AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541
+# DEFINES
+# UA_ENABLE_ENCRYPTION
+# UA_ENABLE_ENCRYPTION_MBEDTLS
+# LIBRARIES
+# mbedtls
+#)
+#special case end
+
+# special case begin
+if (QT_FEATURE_open62541_security AND NOT QT_FEATURE_system_open62541)
+ find_package(WrapOpenSSL 1.1)
+endif()
+
+qt_extend_target(QOpen62541Plugin CONDITION QT_FEATURE_open62541_security AND WrapOpenSSL_FOUND AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541
DEFINES
UA_ENABLE_ENCRYPTION
- UA_ENABLE_ENCRYPTION_MBEDTLS
+ UA_ENABLE_ENCRYPTION_OPENSSL
LIBRARIES
- mbedtls
+ WrapOpenSSL::WrapOpenSSL
)
+# special case end
qt_extend_target(QOpen62541Plugin CONDITION QT_FEATURE_open62541 AND WIN32 AND MSVC AND NOT QT_FEATURE_system_open62541 # special case
PUBLIC_LIBRARIES
diff --git a/src/plugins/opcua/open62541/qopen62541node.h b/src/plugins/opcua/open62541/qopen62541node.h
index f5e5133..ba96d85 100644
--- a/src/plugins/opcua/open62541/qopen62541node.h
+++ b/src/plugins/opcua/open62541/qopen62541node.h
@@ -54,7 +54,7 @@ public:
bool enableMonitoring(QOpcUa::NodeAttributes attr, const QOpcUaMonitoringParameters &settings) override;
bool disableMonitoring(QOpcUa::NodeAttributes attr) override;
bool modifyMonitoring(QOpcUa::NodeAttribute attr, QOpcUaMonitoringParameters::Parameter item, const QVariant &value) override;
- bool browse(const QOpcUaBrowseRequest &request);
+ bool browse(const QOpcUaBrowseRequest &request) override;
QString nodeId() const override;
bool writeAttribute(QOpcUa::NodeAttribute attribute, const QVariant &value, QOpcUa::Types type, const QString &indexRange) override;
diff --git a/tests/auto/clientSetupInCpp/CMakeLists.txt b/tests/auto/clientSetupInCpp/CMakeLists.txt
index 5fa034e..6a58c4e 100644
--- a/tests/auto/clientSetupInCpp/CMakeLists.txt
+++ b/tests/auto/clientSetupInCpp/CMakeLists.txt
@@ -27,7 +27,7 @@ qt_add_test(tst_clientSetupInCpp
## Scopes:
#####################################################################
-qt_extend_target(tst_clientSetupInCpp CONDITION QT_FEATURE_mbedtls
+qt_extend_target(tst_clientSetupInCpp CONDITION QT_FEATURE_open62541_security # special case
DEFINES
SERVER_SUPPORTS_SECURITY
)
diff --git a/tests/auto/declarative/CMakeLists.txt b/tests/auto/declarative/CMakeLists.txt
index 40ade46..0818bfb 100644
--- a/tests/auto/declarative/CMakeLists.txt
+++ b/tests/auto/declarative/CMakeLists.txt
@@ -27,7 +27,7 @@ qt_add_test(tst_opcua
## Scopes:
#####################################################################
-qt_extend_target(tst_opcua CONDITION QT_FEATURE_mbedtls
+qt_extend_target(tst_opcua CONDITION QT_FEATURE_open62541_security # special case
DEFINES
SERVER_SUPPORTS_SECURITY
)
diff --git a/tests/auto/qopcuaclient/CMakeLists.txt b/tests/auto/qopcuaclient/CMakeLists.txt
index 768d4f3..a098ffc 100644
--- a/tests/auto/qopcuaclient/CMakeLists.txt
+++ b/tests/auto/qopcuaclient/CMakeLists.txt
@@ -31,7 +31,7 @@ qt_add_resource(tst_qopcuaclient "data"
## Scopes:
#####################################################################
-qt_extend_target(tst_qopcuaclient CONDITION QT_FEATURE_mbedtls
+qt_extend_target(tst_qopcuaclient CONDITION QT_FEATURE_open62541_security AND QT_FEATURE_open62541 # special case
DEFINES
SERVER_SUPPORTS_SECURITY
)
diff --git a/tests/auto/security/pki/trusted/certs/open62541-testserver.der b/tests/auto/security/pki/trusted/certs/open62541-testserver.der
index 0bead45..e32d2c3 100644
--- a/tests/auto/security/pki/trusted/certs/open62541-testserver.der
+++ b/tests/auto/security/pki/trusted/certs/open62541-testserver.der
Binary files differ
diff --git a/tests/open62541-testserver/CMakeLists.txt b/tests/open62541-testserver/CMakeLists.txt
index 61e98bb..c137acb 100644
--- a/tests/open62541-testserver/CMakeLists.txt
+++ b/tests/open62541-testserver/CMakeLists.txt
@@ -64,13 +64,29 @@ qt_extend_target(open62541-testserver CONDITION QT_FEATURE_open62541 AND NOT QT_
../../src/3rdparty/open62541
)
-qt_extend_target(open62541-testserver CONDITION QT_FEATURE_mbedtls AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541
+# special case begin
+#qt_extend_target(open62541-testserver CONDITION QT_FEATURE_mbedtls AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541
+# DEFINES
+# UA_ENABLE_ENCRYPTION
+# UA_ENABLE_ENCRYPTION_MBEDTLS
+# LIBRARIES
+# mbedtls
+#)
+# special case end
+
+# special case begin
+if (QT_FEATURE_open62541_security AND NOT QT_FEATURE_system_open62541)
+ find_package(WrapOpenSSL 1.1)
+endif()
+
+qt_extend_target(open62541-testserver CONDITION QT_FEATURE_open62541_security AND WrapOpenSSL_FOUND AND QT_FEATURE_open62541 AND NOT QT_FEATURE_system_open62541
DEFINES
UA_ENABLE_ENCRYPTION
- UA_ENABLE_ENCRYPTION_MBEDTLS
+ UA_ENABLE_ENCRYPTION_OPENSSL
LIBRARIES
- mbedtls
+ WrapOpenSSL::WrapOpenSSL
)
+# special case end
qt_extend_target(open62541-testserver CONDITION QT_FEATURE_open62541 AND WIN32 AND MSVC AND NOT QT_FEATURE_system_open62541 # special case
PUBLIC_LIBRARIES
diff --git a/tests/open62541-testserver/pki/own/certs/open62541-testserver.der b/tests/open62541-testserver/pki/own/certs/open62541-testserver.der
index 0bead45..e32d2c3 100644
--- a/tests/open62541-testserver/pki/own/certs/open62541-testserver.der
+++ b/tests/open62541-testserver/pki/own/certs/open62541-testserver.der
Binary files differ
diff --git a/tests/open62541-testserver/pki/own/private/open62541-testserver.der b/tests/open62541-testserver/pki/own/private/open62541-testserver.der
index 4c6f6e2..56fb177 100644
--- a/tests/open62541-testserver/pki/own/private/open62541-testserver.der
+++ b/tests/open62541-testserver/pki/own/private/open62541-testserver.der
Binary files differ
diff --git a/tests/open62541-testserver/pki/trusted/certs/opcuaviewer.der b/tests/open62541-testserver/pki/trusted/certs/opcuaviewer.der
index ef7ef42..638b3b9 100644
--- a/tests/open62541-testserver/pki/trusted/certs/opcuaviewer.der
+++ b/tests/open62541-testserver/pki/trusted/certs/opcuaviewer.der
Binary files differ