const EVP_CIPHER evp_cipher_type
OPENVPN_SIMPLE_EXCEPTION(openssl_cipher_uninitialized)
bool update(unsigned char *out, const size_t max_out_size, const unsigned char *in, const size_t in_size, size_t &out_acc)
static bool is_supported(SSLLib::Ctx libctx, const CryptoAlgs::Type alg)
size_t block_size() const
std::unique_ptr< evp_cipher_type, decltype(&::EVP_CIPHER_free)> CIPHER_unique_ptr
OPENVPN_EXCEPTION(openssl_cipher_error)
void free_cipher_context()
CipherContext(const CipherContext &)=delete
void init(SSLLib::Ctx libctx, const CryptoAlgs::Type alg, const unsigned char *key, const int mode)
void check_initialized() const
OPENVPN_SIMPLE_EXCEPTION(openssl_cipher_mode_error)
CipherContext & operator=(const CipherContext &)=delete
bool is_initialized() const
void reset(const unsigned char *iv)
static evp_cipher_type * cipher_type(SSLLib::Ctx libctx, const CryptoAlgs::Type alg)