10#include <botan/secmem.h>
45 virtual void set(std::string_view name,
const uint8_t psk[],
size_t psk_len) = 0;
50 virtual void remove(std::string_view name) = 0;
62 std::string
get_str(std::string_view name)
const;
67 void set_str(std::string_view name, std::string_view psk);
72 void set_vec(std::string_view name, std::span<const uint8_t> psk) {
set(name, psk.data(), psk.size()); }
127 std::set<std::string>
list_names()
const override;
143 void set(std::string_view name,
const uint8_t psk[],
size_t psk_len)
override;
149 void remove(std::string_view name)
override;
162 virtual void kv_set(std::string_view index, std::string_view value) = 0;
168 virtual std::string
kv_get(std::string_view index)
const = 0;
173 virtual void kv_del(std::string_view index) = 0;
182 std::unique_ptr<BlockCipher> m_cipher;
183 std::unique_ptr<MessageAuthenticationCode> m_hmac;
198 std::shared_ptr<SQL_Database> db,
199 std::string_view table_name);
209 void kv_set(std::string_view index, std::string_view value)
override;
210 std::string kv_get(std::string_view index)
const override;
211 void kv_del(std::string_view index)
override;
212 std::set<std::string> kv_get_all()
const override;
214 std::shared_ptr<SQL_Database> m_db;
215 const std::string m_table_name;
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_EXPLICIT
Encrypted_PSK_Database_SQL & operator=(const Encrypted_PSK_Database_SQL &other)=delete
Encrypted_PSK_Database_SQL(const Encrypted_PSK_Database_SQL &other)=delete
Encrypted_PSK_Database_SQL(const secure_vector< uint8_t > &master_key, std::shared_ptr< SQL_Database > db, std::string_view table_name)
~Encrypted_PSK_Database_SQL() override
Encrypted_PSK_Database_SQL & operator=(Encrypted_PSK_Database_SQL &&other)=delete
Encrypted_PSK_Database_SQL(Encrypted_PSK_Database_SQL &&other)=delete
bool is_encrypted() const override
virtual void kv_set(std::string_view index, std::string_view value)=0
virtual void kv_del(std::string_view index)=0
virtual std::string kv_get(std::string_view index) const =0
secure_vector< uint8_t > get(std::string_view name) const override
BOTAN_FUTURE_EXPLICIT Encrypted_PSK_Database(const secure_vector< uint8_t > &master_key)
std::set< std::string > list_names() const override
virtual std::set< std::string > kv_get_all() const =0
void remove(std::string_view name) override
~Encrypted_PSK_Database() override
void set(std::string_view name, const uint8_t psk[], size_t psk_len) override
void set_str(std::string_view name, std::string_view psk)
virtual std::set< std::string > list_names() const =0
virtual void set(std::string_view name, const uint8_t psk[], size_t psk_len)=0
void set_vec(std::string_view name, std::span< const uint8_t > psk)
virtual bool is_encrypted() const =0
std::string get_str(std::string_view name) const
virtual ~PSK_Database()=default
virtual secure_vector< uint8_t > get(std::string_view name) const =0
virtual void remove(std::string_view name)=0
std::vector< T, secure_allocator< T > > secure_vector