static const DigestInfo * digest_type(const CryptoAlgs::Type alg)
void init(const CryptoAlgs::Type digest, const unsigned char *key, const size_t key_size)
unsigned char key_[MAX_HMAC_KEY_SIZE]
OPENVPN_SIMPLE_EXCEPTION(hmac_keysize_error)
bool is_initialized() const
void cond_reset(const bool force_init)
OPENVPN_EXCEPTION(digest_cannot_be_used_with_hmac)
HMACContext(const HMACContext &)=delete
HMACContext & operator=(const HMACContext &)=delete
HMACContext(const CryptoAlgs::Type digest, const unsigned char *key, const size_t key_size)
void update(const unsigned char *in, const size_t size)
OPENVPN_SIMPLE_EXCEPTION(hmac_uninitialized)