10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
LibcryptoAESKey.h
1#ifndef TENDUKE_CRYPTO_AES_LIBCRYPTO_LIBCRYTOAESKEY_H
2#define TENDUKE_CRYPTO_AES_LIBCRYPTO_LIBCRYTOAESKEY_H
3
4#include "crypto/symmetric/aes/AESSecretKey.h"
5#include "utl/DataSpan.h"
6
7namespace tenduke { namespace crypto { namespace aes { namespace libcrypto {
8
12class LibcryptoAESKey : public virtual ::tenduke::crypto::aes::AESSecretKey
13{
14public:
15 explicit LibcryptoAESKey(std::unique_ptr<::tenduke::utl::DataSpan> key)
16 : AESSecretKey(std::move(key))
17 {
18 }
19
20 std::unique_ptr<::tenduke::crypto::aes::AESGCMCipher> gcmCipher() const override;
21
22private:
23 std::shared_ptr<::tenduke::utl::DataSpan> key;
24};
25
26}}}}
27
28#endif //TENDUKE_CRYPTO_AES_LIBCRYPTO_LIBCRYTOAESKEY_H
Definition AESSecretKey.h:14
std::unique_ptr<::tenduke::crypto::aes::AESGCMCipher > gcmCipher() const override
Returns AES-GCM cipher, which uses this key for operations.
Definition LibcryptoAESKey.cpp:13
Cryptography services.
Definition AbstractCiphers.h:18
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4