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