1 /** 2 * \file doc_ssltls.h 3 * 4 * \brief SSL/TLS communication module documentation file. 5 */ 6 /* 7 * 8 * Copyright The Mbed TLS Contributors 9 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 10 */ 11 12 /** 13 * @addtogroup ssltls_communication_module SSL/TLS communication module 14 * 15 * The SSL/TLS communication module provides the means to create an SSL/TLS 16 * communication channel. 17 * 18 * The basic provisions are: 19 * - initialise an SSL/TLS context (see \c mbedtls_ssl_init()). 20 * - perform an SSL/TLS handshake (see \c mbedtls_ssl_handshake()). 21 * - read/write (see \c mbedtls_ssl_read() and \c mbedtls_ssl_write()). 22 * - notify a peer that connection is being closed (see \c mbedtls_ssl_close_notify()). 23 * 24 * Many aspects of such a channel are set through parameters and callback 25 * functions: 26 * - the endpoint role: client or server. 27 * - the authentication mode. Should verification take place. 28 * - the Host-to-host communication channel. A TCP/IP module is provided. 29 * - the random number generator (RNG). 30 * - the ciphers to use for encryption/decryption. 31 * - session control functions. 32 * - X.509 parameters for certificate-handling and key exchange. 33 * 34 * This module can be used to create an SSL/TLS server and client and to provide a basic 35 * framework to setup and communicate through an SSL/TLS communication channel.\n 36 * Note that you need to provide for several aspects yourself as mentioned above. 37 */ 38