OpenVPN 3 Core Library
|
#include <crypto_chm.hpp>
Public Types | |
typedef CryptoDCInstance | Base |
![]() | |
enum | { CIPHER_DEFINED = (1 << 0) , HMAC_DEFINED = (1 << 1) , CRYPTO_DEFINED = (1 << 2) , EXPLICIT_EXIT_NOTIFY_DEFINED = (1 << 3) } |
enum | RekeyType { ACTIVATE_PRIMARY , ACTIVATE_PRIMARY_MOVE , NEW_SECONDARY , PRIMARY_SECONDARY_SWAP , DEACTIVATE_SECONDARY , DEACTIVATE_ALL } |
typedef RCPtr< CryptoDCInstance > | Ptr |
![]() | |
typedef RCPtr< RC > | Ptr |
Public Member Functions | |
CryptoCHM (SSLLib::Ctx libctx_arg, CryptoDCSettingsData dc_settings_data, const Frame::Ptr &frame_arg, const SessionStats::Ptr &stats_arg, const StrongRandomAPI::Ptr &rng_arg) | |
bool | encrypt (BufferAllocated &buf, const unsigned char *op32) override |
Error::Type | decrypt (BufferAllocated &buf, const std::time_t now, const unsigned char *op32) override |
void | init_cipher (StaticKey &&encrypt_key, StaticKey &&decrypt_key) override |
void | init_hmac (StaticKey &&encrypt_key, StaticKey &&decrypt_key) override |
void | init_pid (const char *recv_name, const int recv_unit, const SessionStats::Ptr &recv_stats_arg) override |
bool | consider_compression (const CompressContext &comp_ctx) override |
unsigned int | defined () const override |
void | rekey (const typename Base::RekeyType type) override |
![]() | |
virtual void | init_remote_peer_id (const int remote_peer_id) |
virtual void | explicit_exit_notify () |
![]() | |
RC () noexcept=default | |
RC (const RC &)=delete | |
virtual | ~RC ()=default |
RC & | operator= (const RC &)=delete |
olong | use_count () const noexcept |
Delegates call to RCImpl and returns the result. | |
Private Attributes | |
CryptoDCSettingsData | dc_settings |
Frame::Ptr | frame |
SessionStats::Ptr | stats |
StrongRandomAPI::Ptr | rng |
SSLLib::Ctx | libctx |
EncryptCHM< CRYPTO_API > | encrypt_ |
DecryptCHM< CRYPTO_API > | decrypt_ |
Additional Inherited Members | |
![]() | |
static constexpr bool | is_thread_safe () |
Delegates call to RCImpl and returns the result. | |
Definition at line 26 of file crypto_chm.hpp.
typedef CryptoDCInstance openvpn::CryptoCHM< CRYPTO_API >::Base |
Definition at line 29 of file crypto_chm.hpp.
|
inline |
Definition at line 31 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 91 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 58 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 98 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 52 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Initialised the encryption/decryption cipher of the classs. Note that this is and init_hmac need to typically called before encrypt/decrypt can be called.
Implements openvpn::CryptoDCInstance.
Definition at line 65 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 72 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 79 of file crypto_chm.hpp.
|
inlineoverridevirtual |
Implements openvpn::CryptoDCInstance.
Definition at line 110 of file crypto_chm.hpp.
|
private |
Definition at line 115 of file crypto_chm.hpp.
|
private |
Definition at line 122 of file crypto_chm.hpp.
|
private |
Definition at line 121 of file crypto_chm.hpp.
|
private |
Definition at line 116 of file crypto_chm.hpp.
|
private |
Definition at line 119 of file crypto_chm.hpp.
|
private |
Definition at line 118 of file crypto_chm.hpp.
|
private |
Definition at line 117 of file crypto_chm.hpp.