OpenVPN 3 Core Library
Loading...
Searching...
No Matches
openvpn::CryptoTLSCryptInstance< CRYPTO_API > Class Template Reference

#include <tls_crypt.hpp>

Inheritance diagram for openvpn::CryptoTLSCryptInstance< CRYPTO_API >:
[legend]
Collaboration diagram for openvpn::CryptoTLSCryptInstance< CRYPTO_API >:
[legend]

Public Member Functions

 CryptoTLSCryptInstance (SSLLib::Ctx libctx_arg, const CryptoAlgs::Type digest_arg, const CryptoAlgs::Type cipher_arg, int mode_arg)
 
void init (SSLLib::Ctx libctx, const StaticKey &key_hmac, const StaticKey &key_crypt)
 
size_t output_hmac_size () const
 
bool hmac_gen (unsigned char *header, const size_t header_len, const unsigned char *payload, const size_t payload_len)
 
bool hmac_cmp (const unsigned char *header, const size_t header_len, const unsigned char *payload, const size_t payload_len)
 
size_t encrypt (const unsigned char *iv, unsigned char *out, const size_t olen, const unsigned char *in, const size_t ilen)
 
size_t decrypt (const unsigned char *iv, unsigned char *out, const size_t olen, const unsigned char *in, const size_t ilen)
 
- Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
 RC () noexcept=default
 
 RC (const RC &)=delete
 
virtual ~RC ()=default
 
RCoperator= (const RC &)=delete
 
olong use_count () const noexcept
 Delegates call to RCImpl and returns the result.
 

Private Attributes

CryptoAlgs::Type digest
 
CryptoAlgs::Type cipher
 
int mode
 
TLSCrypt< CRYPTO_API > tls_crypt
 
SSLLib::Ctx libctx
 

Additional Inherited Members

- Public Types inherited from openvpn::TLSCryptInstance
typedef RCPtr< TLSCryptInstancePtr
 
- Public Types inherited from openvpn::RC< thread_unsafe_refcount >
typedef RCPtr< RCPtr
 
- Static Public Member Functions inherited from openvpn::RC< thread_unsafe_refcount >
static constexpr bool is_thread_safe ()
 Delegates call to RCImpl and returns the result.
 

Detailed Description

template<typename CRYPTO_API>
class openvpn::CryptoTLSCryptInstance< CRYPTO_API >

Definition at line 199 of file tls_crypt.hpp.

Constructor & Destructor Documentation

◆ CryptoTLSCryptInstance()

template<typename CRYPTO_API >
openvpn::CryptoTLSCryptInstance< CRYPTO_API >::CryptoTLSCryptInstance ( SSLLib::Ctx  libctx_arg,
const CryptoAlgs::Type  digest_arg,
const CryptoAlgs::Type  cipher_arg,
int  mode_arg 
)
inline

Definition at line 202 of file tls_crypt.hpp.

Member Function Documentation

◆ decrypt()

template<typename CRYPTO_API >
size_t openvpn::CryptoTLSCryptInstance< CRYPTO_API >::decrypt ( const unsigned char *  iv,
unsigned char *  out,
const size_t  olen,
const unsigned char *  in,
const size_t  ilen 
)
inlinevirtual

Implements openvpn::TLSCryptInstance.

Definition at line 239 of file tls_crypt.hpp.

◆ encrypt()

template<typename CRYPTO_API >
size_t openvpn::CryptoTLSCryptInstance< CRYPTO_API >::encrypt ( const unsigned char *  iv,
unsigned char *  out,
const size_t  olen,
const unsigned char *  in,
const size_t  ilen 
)
inlinevirtual

Implements openvpn::TLSCryptInstance.

Definition at line 234 of file tls_crypt.hpp.

◆ hmac_cmp()

template<typename CRYPTO_API >
bool openvpn::CryptoTLSCryptInstance< CRYPTO_API >::hmac_cmp ( const unsigned char *  header,
const size_t  header_len,
const unsigned char *  payload,
const size_t  payload_len 
)
inlinevirtual

Implements openvpn::TLSCryptInstance.

Definition at line 229 of file tls_crypt.hpp.

◆ hmac_gen()

template<typename CRYPTO_API >
bool openvpn::CryptoTLSCryptInstance< CRYPTO_API >::hmac_gen ( unsigned char *  header,
const size_t  header_len,
const unsigned char *  payload,
const size_t  payload_len 
)
inlinevirtual

Implements openvpn::TLSCryptInstance.

Definition at line 223 of file tls_crypt.hpp.

◆ init()

template<typename CRYPTO_API >
void openvpn::CryptoTLSCryptInstance< CRYPTO_API >::init ( SSLLib::Ctx  libctx,
const StaticKey key_hmac,
const StaticKey key_crypt 
)
inlinevirtual

Implements openvpn::TLSCryptInstance.

Definition at line 213 of file tls_crypt.hpp.

◆ output_hmac_size()

template<typename CRYPTO_API >
size_t openvpn::CryptoTLSCryptInstance< CRYPTO_API >::output_hmac_size ( ) const
inlinevirtual

Implements openvpn::TLSCryptInstance.

Definition at line 218 of file tls_crypt.hpp.

Member Data Documentation

◆ cipher

template<typename CRYPTO_API >
CryptoAlgs::Type openvpn::CryptoTLSCryptInstance< CRYPTO_API >::cipher
private

Definition at line 246 of file tls_crypt.hpp.

◆ digest

template<typename CRYPTO_API >
CryptoAlgs::Type openvpn::CryptoTLSCryptInstance< CRYPTO_API >::digest
private

Definition at line 245 of file tls_crypt.hpp.

◆ libctx

template<typename CRYPTO_API >
SSLLib::Ctx openvpn::CryptoTLSCryptInstance< CRYPTO_API >::libctx
private

Definition at line 249 of file tls_crypt.hpp.

◆ mode

template<typename CRYPTO_API >
int openvpn::CryptoTLSCryptInstance< CRYPTO_API >::mode
private

Definition at line 247 of file tls_crypt.hpp.

◆ tls_crypt

template<typename CRYPTO_API >
TLSCrypt<CRYPTO_API> openvpn::CryptoTLSCryptInstance< CRYPTO_API >::tls_crypt
private

Definition at line 248 of file tls_crypt.hpp.


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