Botan 3.0.0
Crypto and TLS for C&
Public Member Functions | List of all members
Botan::PSK_Database Class Referenceabstract

#include <psk_db.h>

Inheritance diagram for Botan::PSK_Database:
Botan::Encrypted_PSK_Database Botan::Encrypted_PSK_Database_SQL

Public Member Functions

virtual secure_vector< uint8_t > get (std::string_view name) const =0
std::string get_str (std::string_view name) const
virtual bool is_encrypted () const =0
virtual std::set< std::string > list_names () const =0
virtual void remove (std::string_view name)=0
virtual void set (std::string_view name, const uint8_t psk[], size_t psk_len)=0
void set_str (std::string_view name, std::string_view psk)
template<typename Alloc >
void set_vec (std::string_view name, const std::vector< uint8_t, Alloc > &psk)
virtual ~PSK_Database ()=default

Detailed Description

This is an interface to a generic PSK (pre-shared key) database. It might be implemented as a plaintext storage or via some mechanism that encrypts the keys and/or values.

Definition at line 25 of file psk_db.h.

Constructor & Destructor Documentation

◆ ~PSK_Database()

virtual Botan::PSK_Database::~PSK_Database ( )

Member Function Documentation

◆ get()

virtual secure_vector< uint8_t > Botan::PSK_Database::get ( std::string_view  name) const
pure virtual

Return the value associated with the specified

nameor otherwise throw an exception.

Implemented in Botan::Encrypted_PSK_Database.

◆ get_str()

std::string Botan::PSK_Database::get_str ( std::string_view  name) const

Get a PSK in the form of a string (eg if the PSK is a password)

Definition at line 59 of file psk_db.h.

60 {
61 secure_vector<uint8_t> psk = get(name);
62 return std::string(cast_uint8_ptr_to_char(, psk.size());
63 }
virtual secure_vector< uint8_t > get(std::string_view name) const =0
std::string name
const char * cast_uint8_ptr_to_char(const uint8_t *b)
Definition: mem_ops.h:188

References Botan::cast_uint8_ptr_to_char(), and name.

◆ is_encrypted()

virtual bool Botan::PSK_Database::is_encrypted ( ) const
pure virtual

Returns if the values in the PSK database are encrypted. If false, saved values are being stored in plaintext.

Implemented in Botan::Encrypted_PSK_Database.

◆ list_names()

virtual std::set< std::string > Botan::PSK_Database::list_names ( ) const
pure virtual

Return the set of names for which get() will return a value.

Implemented in Botan::Encrypted_PSK_Database.

◆ remove()

virtual void Botan::PSK_Database::remove ( std::string_view  name)
pure virtual

Remove a PSK from the database

Implemented in Botan::Encrypted_PSK_Database.

◆ set()

virtual void Botan::PSK_Database::set ( std::string_view  name,
const uint8_t  psk[],
size_t  psk_len 
pure virtual

Set a value that can later be accessed with get(). If name already exists in the database, the old value will be overwritten.

Implemented in Botan::Encrypted_PSK_Database.

◆ set_str()

void Botan::PSK_Database::set_str ( std::string_view  name,
std::string_view  psk 

Definition at line 65 of file psk_db.h.

66 {
67 set(name, cast_char_ptr_to_uint8(, psk.size());
68 }
virtual void set(std::string_view name, const uint8_t psk[], size_t psk_len)=0
const uint8_t * cast_char_ptr_to_uint8(const char *s)
Definition: mem_ops.h:183

References Botan::cast_char_ptr_to_uint8(), and name.

◆ set_vec()

template<typename Alloc >
void Botan::PSK_Database::set_vec ( std::string_view  name,
const std::vector< uint8_t, Alloc > &  psk 

Definition at line 71 of file psk_db.h.

74 {
75 set(name,, psk.size());
76 }

References name.

The documentation for this class was generated from the following file: