diff options
Diffstat (limited to 'src/knx/ssl/qknxcryptographicengine.h')
-rw-r--r-- | src/knx/ssl/qknxcryptographicengine.h | 14 |
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 |