xref: /aosp_15_r20/external/mbedtls/doxygen/input/doc_ssltls.h (revision 62c56f9862f102b96d72393aff6076c951fb8148)
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