OpenVPN
|
#include <mbedtls/cipher.h>
#include <mbedtls/md.h>
#include <mbedtls/ctr_drbg.h>
Go to the source code of this file.
Macros | |
#define | OPENVPN_MAX_IV_LENGTH MBEDTLS_MAX_IV_LENGTH |
Maximum length of an IV. More... | |
#define | OPENVPN_MODE_CBC MBEDTLS_MODE_CBC |
Cipher is in CBC mode. More... | |
#define | OPENVPN_MODE_OFB MBEDTLS_MODE_OFB |
Cipher is in OFB mode. More... | |
#define | OPENVPN_MODE_CFB MBEDTLS_MODE_CFB |
Cipher is in CFB mode. More... | |
#define | OPENVPN_MODE_GCM MBEDTLS_MODE_GCM |
Cipher is in GCM mode. More... | |
#define | OPENVPN_OP_ENCRYPT MBEDTLS_ENCRYPT |
Cipher should encrypt. More... | |
#define | OPENVPN_OP_DECRYPT MBEDTLS_DECRYPT |
Cipher should decrypt. More... | |
#define | MD4_DIGEST_LENGTH 16 |
#define | MD5_DIGEST_LENGTH 16 |
#define | SHA_DIGEST_LENGTH 20 |
#define | SHA256_DIGEST_LENGTH 32 |
#define | DES_KEY_LENGTH 8 |
#define | mbed_ok(errval) mbed_log_func_line_lite(D_CRYPT_ERRORS, errval, __func__, __LINE__) |
Check errval and log on error. More... | |
Typedefs | |
typedef mbedtls_md_info_t | md_kt_t |
Generic message digest key type context. More... | |
typedef mbedtls_cipher_context_t | cipher_ctx_t |
Generic cipher context. More... | |
typedef mbedtls_md_context_t | md_ctx_t |
Generic message digest context. More... | |
typedef mbedtls_md_context_t | hmac_ctx_t |
Generic HMAC context. More... | |
typedef void | provider_t |
typedef mbedtls_operation_t | crypto_operation_t |
Functions | |
mbedtls_ctr_drbg_context * | rand_ctx_get (void) |
Returns a singleton instance of the mbed TLS random number generator. More... | |
bool | mbed_log_err (unsigned int flags, int errval, const char *prefix) |
Log the supplied mbed TLS error, prefixed by supplied prefix. More... | |
bool | mbed_log_func_line (unsigned int flags, int errval, const char *func, int line) |
Log the supplied mbed TLS error, prefixed by function name and line number. More... | |
static bool | mbed_log_func_line_lite (unsigned int flags, int errval, const char *func, int line) |
Wraps mbed_log_func_line() to prevent function calls for non-errors. More... | |
#define DES_KEY_LENGTH 8 |
Definition at line 78 of file crypto_mbedtls.h.
#define mbed_ok | ( | errval | ) | mbed_log_func_line_lite(D_CRYPT_ERRORS, errval, __func__, __LINE__) |
Check errval and log on error.
Convenience wrapper to put around mbed TLS library calls, e.g. if (!mbed_ok (mbedtls_ssl_func())) return 0; or ASSERT (mbed_ok (mbedtls_ssl_func()));
errval | mbed TLS error code to convert to error message. |
Definition at line 148 of file crypto_mbedtls.h.
#define MD4_DIGEST_LENGTH 16 |
Definition at line 74 of file crypto_mbedtls.h.
#define MD5_DIGEST_LENGTH 16 |
Definition at line 75 of file crypto_mbedtls.h.
#define OPENVPN_MAX_IV_LENGTH MBEDTLS_MAX_IV_LENGTH |
Maximum length of an IV.
Definition at line 52 of file crypto_mbedtls.h.
#define OPENVPN_MODE_CBC MBEDTLS_MODE_CBC |
Cipher is in CBC mode.
Definition at line 55 of file crypto_mbedtls.h.
#define OPENVPN_MODE_CFB MBEDTLS_MODE_CFB |
Cipher is in CFB mode.
Definition at line 61 of file crypto_mbedtls.h.
#define OPENVPN_MODE_GCM MBEDTLS_MODE_GCM |
Cipher is in GCM mode.
Definition at line 64 of file crypto_mbedtls.h.
#define OPENVPN_MODE_OFB MBEDTLS_MODE_OFB |
Cipher is in OFB mode.
Definition at line 58 of file crypto_mbedtls.h.
#define OPENVPN_OP_DECRYPT MBEDTLS_DECRYPT |
Cipher should decrypt.
Definition at line 72 of file crypto_mbedtls.h.
#define OPENVPN_OP_ENCRYPT MBEDTLS_ENCRYPT |
Cipher should encrypt.
Definition at line 69 of file crypto_mbedtls.h.
#define SHA256_DIGEST_LENGTH 32 |
Definition at line 77 of file crypto_mbedtls.h.
#define SHA_DIGEST_LENGTH 20 |
Definition at line 76 of file crypto_mbedtls.h.
typedef mbedtls_cipher_context_t cipher_ctx_t |
Generic cipher context.
Definition at line 40 of file crypto_mbedtls.h.
typedef mbedtls_operation_t crypto_operation_t |
Definition at line 66 of file crypto_mbedtls.h.
typedef mbedtls_md_context_t hmac_ctx_t |
Generic HMAC context.
Definition at line 46 of file crypto_mbedtls.h.
typedef mbedtls_md_context_t md_ctx_t |
Generic message digest context.
Definition at line 43 of file crypto_mbedtls.h.
typedef mbedtls_md_info_t md_kt_t |
Generic message digest key type context.
Definition at line 37 of file crypto_mbedtls.h.
typedef void provider_t |
Definition at line 49 of file crypto_mbedtls.h.
bool mbed_log_err | ( | unsigned int | flags, |
int | errval, | ||
const char * | prefix | ||
) |
Log the supplied mbed TLS error, prefixed by supplied prefix.
flags | Flags to indicate error type and priority. |
errval | mbed TLS error code to convert to error message. |
prefix | Prefix to mbed TLS error message. |
bool mbed_log_func_line | ( | unsigned int | flags, |
int | errval, | ||
const char * | func, | ||
int | line | ||
) |
Log the supplied mbed TLS error, prefixed by function name and line number.
flags | Flags to indicate error type and priority. |
errval | mbed TLS error code to convert to error message. |
func | Function name where error was reported. |
line | Line number where error was reported. |
Referenced by mbed_log_func_line_lite().
|
inlinestatic |
Wraps mbed_log_func_line() to prevent function calls for non-errors.
Definition at line 126 of file crypto_mbedtls.h.
References mbed_log_func_line().
mbedtls_ctr_drbg_context* rand_ctx_get | ( | void | ) |
Returns a singleton instance of the mbed TLS random number generator.
For PolarSSL/mbed TLS 1.1+, this is the CTR_DRBG random number generator. If it hasn't been initialised yet, the RNG will be initialised using the default entropy sources. Aside from the default platform entropy sources, an additional entropy source, the HAVEGE random number generator will also be added. During initialisation, a personalisation string will be added based on the time, the PID, and a pointer to the random context.