summaryrefslogtreecommitdiffstats
path: root/src/knx/ssl/qknxcryptographicengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/knx/ssl/qknxcryptographicengine.h')
-rw-r--r--src/knx/ssl/qknxcryptographicengine.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/knx/ssl/qknxcryptographicengine.h b/src/knx/ssl/qknxcryptographicengine.h
index e509813..eb48816 100644
--- a/src/knx/ssl/qknxcryptographicengine.h
+++ b/src/knx/ssl/qknxcryptographicengine.h
@@ -54,8 +54,10 @@ public:
static QKnxByteArray sessionKey(const QKnxByteArray &sharedSecret);
static QKnxByteArray userPasswordHash(const QByteArray &password);
+ static QKnxByteArray keyringPasswordHash(const QByteArray &password);
static QKnxByteArray deviceAuthenticationCodeHash(const QByteArray &password);
+ static QKnxByteArray hashSha256(const QByteArray &data);
static QKnxByteArray XOR(const QKnxByteArray &l, const QKnxByteArray &r, bool adjust = true);
static QKnxByteArray computeMessageAuthenticationCode(const QKnxByteArray &key,
@@ -66,6 +68,11 @@ public:
const QKnxByteArray &serialNumber = {},
quint16 messageTag = 0);
+ static QKnxByteArray decrypt(const QKnxByteArray &key, const QKnxByteArray &iv,
+ const QKnxByteArray &data);
+ static QKnxByteArray encrypt(const QKnxByteArray &key, const QKnxByteArray &iv,
+ const QKnxByteArray &data);
+
static QKnxByteArray encryptSecureWrapperPayload(const QKnxByteArray &key,
const QKnxNetIpFrame &frame,
quint48 sequenceNumber,
@@ -89,6 +96,13 @@ public:
quint48 sequenceNumber = 0,
const QKnxByteArray &serialNumber = {},
quint16 messageTag = 0);
+
+ static QKnxByteArray decodeAndDecryptToolKey(const QKnxByteArray &passwordHash,
+ const QKnxByteArray &createdHash,
+ const QByteArray &toolKey);
+ static QKnxByteArray decodeAndDecryptPassword(const QKnxByteArray &passwordHash,
+ const QKnxByteArray &createdHash,
+ const QByteArray &password);
};
QT_END_NAMESPACE