diff options
author | Rainer Keller <Rainer.Keller@qt.io> | 2019-07-30 16:08:42 +0200 |
---|---|---|
committer | Rainer Keller <Rainer.Keller@qt.io> | 2019-07-31 15:06:04 +0200 |
commit | 9fbb02f9f3f3e6057872ae638616594e5343d07c (patch) | |
tree | adc6f2dd9a580ea5bf1c32f159e793f7316f35c0 | |
parent | 42038300154176b9087b18c41bf29c1b8a2661fa (diff) |
Add function to return true if a security policy is a secure policy
Change-Id: Id6ce3ce943f9d2bfeb62230e8b141049a97d8cb4
Reviewed-by: Jannis Völker <jannis.voelker@basyskom.com>
-rw-r--r-- | src/opcua/client/qopcuatype.cpp | 14 | ||||
-rw-r--r-- | src/opcua/client/qopcuatype.h | 1 | ||||
-rw-r--r-- | tests/auto/security/tst_security.cpp | 2 |
3 files changed, 16 insertions, 1 deletions
diff --git a/src/opcua/client/qopcuatype.cpp b/src/opcua/client/qopcuatype.cpp index c9e1519..039a389 100644 --- a/src/opcua/client/qopcuatype.cpp +++ b/src/opcua/client/qopcuatype.cpp @@ -875,5 +875,19 @@ QOpcUa::Types QOpcUa::opcUaDataTypeToQOpcUaType(const QString &type) return QOpcUa::Undefined; } +/*! + \since QtOpcUa 5.14 + + Returns \c true if a security policy is a secure policy. +*/ +bool QOpcUa::isSecurePolicy(const QString &securityPolicy) +{ + return securityPolicy == QLatin1String("http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15") || + securityPolicy == QLatin1String("http://opcfoundation.org/UA/SecurityPolicy#Basic256") || + securityPolicy == QLatin1String("http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256") || + securityPolicy == QLatin1String("http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep") || + securityPolicy == QLatin1String("http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss"); +} + QT_END_NAMESPACE diff --git a/src/opcua/client/qopcuatype.h b/src/opcua/client/qopcuatype.h index 0969b1e..8e83770 100644 --- a/src/opcua/client/qopcuatype.h +++ b/src/opcua/client/qopcuatype.h @@ -473,6 +473,7 @@ Q_ENUM_NS(ErrorCategory) Q_OPCUA_EXPORT bool isSuccessStatus(QOpcUa::UaStatusCode statusCode); Q_OPCUA_EXPORT QOpcUa::ErrorCategory errorCategory(QOpcUa::UaStatusCode statusCode); Q_OPCUA_EXPORT QString statusToString(QOpcUa::UaStatusCode statusCode); +Q_OPCUA_EXPORT bool isSecurePolicy(const QString &securityPolicy); // NodeId helpers Q_OPCUA_EXPORT QString nodeIdFromString(quint16 ns, const QString &identifier); diff --git a/tests/auto/security/tst_security.cpp b/tests/auto/security/tst_security.cpp index 9460e46..8fd9e45 100644 --- a/tests/auto/security/tst_security.cpp +++ b/tests/auto/security/tst_security.cpp @@ -244,7 +244,7 @@ void Tst_QOpcUaSecurity::initTestCase() // Select first non-None security policy for (const auto &endpoint : qAsConst(desc)) { - if (!endpoint.securityPolicy().endsWith("#None")) { + if (QOpcUa::isSecurePolicy(endpoint.securityPolicy())) { m_endpoints.append(endpoint); qDebug() << endpoint.securityPolicy(); } |