StormByte-Crypto 2.0.0
C++26 cryptography module of the StormByte suite
 
Loading...
Searching...
No Matches
generic.hxx File Reference
#include <StormByte/safe/clonable.hxx>
#include <StormByte/crypto/secure/password.hxx>
#include <StormByte/crypto/typedefs.hxx>
#include <StormByte/crypto/visibility.h>
#include <StormByte/safe/string.hxx>
#include <filesystem>
#include <optional>
#include <string_view>
Include dependency graph for generic.hxx:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  StormByte::Crypto::KeyPair::Generic
 Abstract keypair. More...
 

Namespaces

namespace  StormByte
 Root namespace of the StormByte suite.
 
namespace  StormByte::Crypto
 Crypto module of the StormByte suite.
 
namespace  StormByte::Crypto::KeyPair
 Keypairs of the Crypto module.
 

Enumerations

enum class  StormByte::Crypto::KeyPair::Type {
  StormByte::Crypto::KeyPair::DSA , StormByte::Crypto::KeyPair::ECC , StormByte::Crypto::KeyPair::ECDH , StormByte::Crypto::KeyPair::ECDSA ,
  StormByte::Crypto::KeyPair::ED25519 , StormByte::Crypto::KeyPair::RSA , StormByte::Crypto::KeyPair::X25519
}
 Available keypair algorithms. More...
 
enum class  StormByte::Crypto::KeyPair::StorageFormat { StormByte::Crypto::KeyPair::PEM , StormByte::Crypto::KeyPair::DER }
 On-disk encoding. More...
 

Functions

Generic::PointerType StormByte::Crypto::KeyPair::Create (Type type, unsigned short bits) noexcept
 Generate a keypair.
 
Generic::PointerType StormByte::Crypto::KeyPair::Load (const std::filesystem::path &publicKeyPath, const std::filesystem::path &privateKeyPath) noexcept
 Load from separate public and private files.
 
Generic::PointerType StormByte::Crypto::KeyPair::Load (const std::filesystem::path &publicKeyPath, const std::filesystem::path &privateKeyPath, const Secure::Password &password) noexcept
 Load from separate files; decrypt the private key if needed.
 
Generic::PointerType StormByte::Crypto::KeyPair::Load (const std::filesystem::path &path) noexcept
 Load from one file (public, private, or concatenated PEM).
 
Generic::PointerType StormByte::Crypto::KeyPair::Load (const std::filesystem::path &path, const Secure::Password &password) noexcept
 Load from one file; decrypt if needed.