35#include <mbedtls/ssl.h>
36#include <mbedtls/x509_crt.h>
37#include <mbedtls/version.h>
39#if defined(ENABLE_PKCS11)
40#include <pkcs11-helper-1.0/pkcs11h-certificate.h>
78 void *sign_ctx,
const void *src,
size_t src_size,
79 void *dst,
size_t dst_size);
88#ifdef HAVE_EXPORT_KEYING_MATERIAL
93 unsigned char client_server_random[64];
94 mbedtls_tls_prf_types tls_prf_type;
95 unsigned char master_secret[48];
120 pkcs11h_certificate_t pkcs11_cert;
mbedtls compatibility stub.
mbedtls_ecp_group_id mbedtls_compat_group_id
int tls_ctx_use_external_signing_func(struct tls_root_ctx *ctx, external_sign_func sign_func, void *sign_ctx)
Call the supplied signing function to create a TLS signature during the TLS handshake.
static void tls_clear_error(void)
bool(* external_sign_func)(void *sign_ctx, const void *src, size_t src_size, void *dst, size_t dst_size)
External signing function prototype.
buffer_entry * next_block
buffer_entry * first_block
buffer_entry * last_block
Context used by external_pkcs1_sign()
mbedtls_ssl_config * ssl_config
mbedTLS global ssl config
mbedtls_ssl_context * ctx
mbedTLS connection context
Structure that wraps the TLS context.
mbedtls_x509_crl * crl
Certificate Revocation List.
off_t crl_last_size
size of last loaded CRL
mbedtls_x509_crt * crt_chain
Local Certificate chain.
mbedtls_x509_crt * ca_chain
CA chain for remote verification.
mbedtls_compat_group_id * groups
List of allowed groups for this connection.
int * allowed_ciphers
List of allowed ciphers for this connection.
mbedtls_dhm_context * dhm_ctx
Diffie-Helmann-Merkle context.
time_t crl_last_mtime
CRL last modification time.
mbedtls_x509_crt_profile cert_profile
Allowed certificate types.
bool initialised
True if the context has been initialised.
int endpoint
Whether or not this is a server or a client.
struct external_context external_key
External key context.
mbedtls_pk_context * priv_key
Local private key.