当我们要使用TLS通讯时,首先要创建CTX上下文,在OpenSSL中,定义CTX上下文的具体定义。
创建CTX上下文
ctx = SSL_CTX_new(TLSv1_2_server_method());
# ifndef OPENSSL_NO_TLS1_2_METHOD
const SSL_METHOD *TLSv1_2_method(void)
{
return tlsv1_2_method();
}
const SSL_METHOD *TLSv1_2_server_method(void)
{
return tlsv1_2_server_method();
}
const SSL_METHOD *TLSv1_2_client_method(void)
{
return tlsv1_2_client_method();
}
# endif
*TLSv1_2_method(void)是返回一系列函数操作集合
集合通过宏定义,实际上定义在methods.c
#ifndef OPENSSL_NO_TLS1_2_METHOD
IMPLEMENT_tls_meth_func(TLS1_2_VERSION, 0, SSL_OP_NO_TLSv1_2,
tlsv1_2_client_method,
ssl_undefined_function,