|
Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
|
RAII wrapper for encryption keys with secure memory management. More...
#include <secure_key_storage.h>

Public Member Functions | |
| secure_key (size_t size) | |
| Construct with specified size. | |
| secure_key (std::vector< uint8_t > data) | |
| Construct with data. | |
| ~secure_key () | |
| Destructor - securely clears key from memory. | |
| secure_key (const secure_key &)=delete | |
| secure_key & | operator= (const secure_key &)=delete |
| secure_key (secure_key &&other) noexcept | |
| secure_key & | operator= (secure_key &&other) noexcept |
| const std::vector< uint8_t > & | data () const |
| Get const reference to key data. | |
| std::vector< uint8_t > & | mutable_data () |
| Get mutable reference to key data (use with caution) | |
| size_t | size () const |
| Get key size in bytes. | |
Private Member Functions | |
| void | secure_clear () |
| Securely clear key data from memory. | |
Private Attributes | |
| std::vector< uint8_t > | data_ |
RAII wrapper for encryption keys with secure memory management.
Features:
Definition at line 40 of file secure_key_storage.h.
|
inlineexplicit |
Construct with specified size.
| size | Key size in bytes (32 for AES-256) |
Definition at line 46 of file secure_key_storage.h.
|
inlineexplicit |
Construct with data.
| data | Key data |
Definition at line 54 of file secure_key_storage.h.
|
inline |
Destructor - securely clears key from memory.
Definition at line 61 of file secure_key_storage.h.
References secure_clear().

|
delete |
|
inlinenoexcept |
Definition at line 70 of file secure_key_storage.h.
|
inline |
Get const reference to key data.
Definition at line 88 of file secure_key_storage.h.
References data_.
Referenced by kcenon::logger::security::audit_logger::calculate_hmac(), kcenon::logger::encrypted_writer::decrypt_entry(), and kcenon::logger::security::secure_key_storage::save_key().

|
inline |
Get mutable reference to key data (use with caution)
Definition at line 95 of file secure_key_storage.h.
References data_.
Referenced by kcenon::logger::security::secure_key_storage::generate_key(), and kcenon::logger::security::secure_key_storage::load_key().

|
delete |
|
inlinenoexcept |
Definition at line 76 of file secure_key_storage.h.
References data_, and secure_clear().

|
inlineprivate |
Securely clear key data from memory.
Definition at line 110 of file secure_key_storage.h.
References data_.
Referenced by operator=(), and ~secure_key().

|
inline |
Get key size in bytes.
Definition at line 102 of file secure_key_storage.h.
References data_.
Referenced by kcenon::logger::security::audit_logger::calculate_hmac(), kcenon::logger::encrypted_writer::encrypted_writer(), kcenon::logger::encrypted_writer::rotate_key(), and kcenon::logger::security::secure_key_storage::save_key().

|
private |
Definition at line 128 of file secure_key_storage.h.
Referenced by data(), mutable_data(), operator=(), secure_clear(), and size().