summaryrefslogtreecommitdiffstats
path: root/src/mbedTLS++/AesCfb128Decryptor.h
diff options
context:
space:
mode:
authorTiger Wang <ziwei.tiger@outlook.com>2021-03-08 17:37:36 +0100
committerGitHub <noreply@github.com>2021-03-08 17:37:36 +0100
commit01a4e696b3d2c973cdd1fb4345d747bd10e93ad9 (patch)
tree92996aef85fca3306b26535fa44feb812deb050b /src/mbedTLS++/AesCfb128Decryptor.h
parentSome emplace_back replacements (#5149) (diff)
downloadcuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.tar
cuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.tar.gz
cuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.tar.bz2
cuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.tar.lz
cuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.tar.xz
cuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.tar.zst
cuberite-01a4e696b3d2c973cdd1fb4345d747bd10e93ad9.zip
Diffstat (limited to 'src/mbedTLS++/AesCfb128Decryptor.h')
-rw-r--r--src/mbedTLS++/AesCfb128Decryptor.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/mbedTLS++/AesCfb128Decryptor.h b/src/mbedTLS++/AesCfb128Decryptor.h
index 601699998..a2c9d6a05 100644
--- a/src/mbedTLS++/AesCfb128Decryptor.h
+++ b/src/mbedTLS++/AesCfb128Decryptor.h
@@ -9,7 +9,11 @@
#pragma once
+#ifdef _WIN32
+#include <wincrypt.h>
+#else
#include "mbedtls/aes.h"
+#endif
@@ -26,14 +30,20 @@ public:
/** Initializes the decryptor with the specified Key / IV */
void Init(const Byte a_Key[16], const Byte a_IV[16]);
- /** Decrypts a_Length bytes of the encrypted data; produces a_Length output bytes */
- void ProcessData(std::byte * a_DecryptedOut, const Byte * a_EncryptedIn, size_t a_Length);
+ /** Decrypts a_Length bytes of the encrypted data in-place; produces a_Length output bytes */
+ void ProcessData(std::byte * a_EncryptedIn, size_t a_Length);
/** Returns true if the object has been initialized with the Key / IV */
bool IsValid(void) const { return m_IsValid; }
protected:
+
+#ifdef _WIN32
+ HCRYPTPROV m_Aes;
+ HCRYPTKEY m_Key;
+#else
mbedtls_aes_context m_Aes;
+#endif
/** The InitialVector, used by the CFB mode decryption */
Byte m_IV[16];
@@ -41,8 +51,3 @@ protected:
/** Indicates whether the object has been initialized with the Key / IV */
bool m_IsValid;
} ;
-
-
-
-
-