diff options
Diffstat (limited to 'manual/html_node/DTLS-sessions.html')
-rw-r--r-- | manual/html_node/DTLS-sessions.html | 218 |
1 files changed, 0 insertions, 218 deletions
diff --git a/manual/html_node/DTLS-sessions.html b/manual/html_node/DTLS-sessions.html deleted file mode 100644 index 015a629241..0000000000 --- a/manual/html_node/DTLS-sessions.html +++ /dev/null @@ -1,218 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html> -<!-- This manual is last updated 4 March 2015 for version -3.5.4 of GnuTLS. - -Copyright (C) 2001-2015 Free Software Foundation, Inc.\\ -Copyright (C) 2001-2015 Nikos Mavrogiannopoulos - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.3 or -any later version published by the Free Software Foundation; with no -Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A -copy of the license is included in the section entitled "GNU Free -Documentation License". --> -<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ --> -<head> -<title>GnuTLS 3.5.4: DTLS sessions</title> - -<meta name="description" content="GnuTLS 3.5.4: DTLS sessions"> -<meta name="keywords" content="GnuTLS 3.5.4: DTLS sessions"> -<meta name="resource-type" content="document"> -<meta name="distribution" content="global"> -<meta name="Generator" content="makeinfo"> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<link href="index.html#Top" rel="start" title="Top"> -<link href="Function-and-Data-Index.html#Function-and-Data-Index" rel="index" title="Function and Data Index"> -<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> -<link href="Setting-up-the-transport-layer.html#Setting-up-the-transport-layer" rel="up" title="Setting up the transport layer"> -<link href="DTLS-and-SCTP.html#DTLS-and-SCTP" rel="next" title="DTLS and SCTP"> -<link href="Reducing-round_002dtrips.html#Reducing-round_002dtrips" rel="prev" title="Reducing round-trips"> -<style type="text/css"> -<!-- -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -blockquote.smallindentedblock {margin-right: 0em; font-size: smaller} -blockquote.smallquotation {font-size: smaller} -div.display {margin-left: 3.2em} -div.example {margin-left: 3.2em} -div.lisp {margin-left: 3.2em} -div.smalldisplay {margin-left: 3.2em} -div.smallexample {margin-left: 3.2em} -div.smalllisp {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -pre.smalldisplay {font-family: inherit; font-size: smaller} -pre.smallexample {font-size: smaller} -pre.smallformat {font-family: inherit; font-size: smaller} -pre.smalllisp {font-size: smaller} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -ul.no-bullet {list-style: none} -body { - margin: 2%; - padding: 0 5%; - background: #ffffff; -} -h1,h2,h3,h4,h5 { - font-weight: bold; - padding: 5px 5px 5px 5px; - background-color: #c2e0ff; - color: #336699; -} -h1 { - padding: 2em 2em 2em 5%; - color: white; - background: #336699; - text-align: center; - letter-spacing: 3px; -} -h2 { text-decoration: underline; } -pre { - margin: 0 5%; - padding: 0.5em; -} -pre.example,pre.verbatim { - padding-bottom: 1em; - - border: solid #c2e0ff; - background: #f0faff; - border-width: 1px 1px 1px 5px; - margin: 1em auto; - width: 90%; -} - -div.node { - margin: 0 -5% 0 -2%; - padding: 0.5em 0.5em; - margin-top: 0.5em; - margin-bottom: 0.5em; - font-weight: bold; -} -dd, li { - padding-top: 0.1em; - padding-bottom: 0.1em; -} -div.float { - - margin-bottom: 0.5em; - text-align: center; -} - -table { - text-align: left; - margin-left:auto; - margin-right:auto; - border-spacing: 7px; - width: 50%; -} - -th { - padding: 0; - color: #336699; - background-color: #c2e0ff; - border: solid #000000; - border-width: 0px; - margin: 1em auto; - text-align: center; - margin-left:auto; - margin-right:auto; -} - -td { - padding: 0; - border: solid #000000; - background-color: #f0faff; - border-width: 0px; - margin: 1em auto; - text-align: left; - margin-left:auto; - margin-right:auto; - padding-left: 1em; -} - -dl { - text-align: left; - margin-left:auto; - margin-right:auto; - width: 50%; - - padding-left: 1em; - border: solid #c2e0ff; - background: #f0faff; - border-width: 5px 1px 1px 1px; - margin: 1em auto; -} - ---> -</style> - - -</head> - -<body lang="en"> -<a name="DTLS-sessions"></a> -<div class="header"> -<p> -Next: <a href="DTLS-and-SCTP.html#DTLS-and-SCTP" accesskey="n" rel="next">DTLS and SCTP</a>, Previous: <a href="Reducing-round_002dtrips.html#Reducing-round_002dtrips" accesskey="p" rel="prev">Reducing round-trips</a>, Up: <a href="Setting-up-the-transport-layer.html#Setting-up-the-transport-layer" accesskey="u" rel="up">Setting up the transport layer</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Function-and-Data-Index.html#Function-and-Data-Index" title="Index" rel="index">Index</a>]</p> -</div> -<hr> -<a name="DTLS-sessions-1"></a> -<h4 class="subsection">6.5.3 DTLS sessions</h4> - -<p>Because datagram TLS can operate over connections where the client -cannot be reliably verified, functionality in the form of cookies, is available to prevent -denial of service attacks to servers. <acronym>GnuTLS</acronym> requires a server -to generate a secret key that is used to sign a cookie<a name="DOCF18" href="#FOOT18"><sup>18</sup></a>. -That cookie is sent to the client using <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fcookie_005fsend">gnutls_dtls_cookie_send</a>, and -the client must reply using the correct cookie. The server side -should verify the initial message sent by client using <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fcookie_005fverify">gnutls_dtls_cookie_verify</a>. -If successful the session should be initialized and associated with -the cookie using <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fprestate_005fset">gnutls_dtls_prestate_set</a>, before proceeding to -the handshake. -</p> -<dl compact="compact"> -<dt><code><var>int</var> <a href="Core-TLS-API.html#gnutls_005fkey_005fgenerate">gnutls_key_generate</a> (gnutls_datum_t * <var>key</var>, unsigned int <var>key_size</var>)</code></dt> -<dt><code><var>int</var> <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fcookie_005fsend">gnutls_dtls_cookie_send</a> (gnutls_datum_t * <var>key</var>, void * <var>client_data</var>, size_t <var>client_data_size</var>, gnutls_dtls_prestate_st * <var>prestate</var>, gnutls_transport_ptr_t <var>ptr</var>, gnutls_push_func <var>push_func</var>)</code></dt> -<dt><code><var>int</var> <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fcookie_005fverify">gnutls_dtls_cookie_verify</a> (gnutls_datum_t * <var>key</var>, void * <var>client_data</var>, size_t <var>client_data_size</var>, void * <var>_msg</var>, size_t <var>msg_size</var>, gnutls_dtls_prestate_st * <var>prestate</var>)</code></dt> -<dt><code><var>void</var> <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fprestate_005fset">gnutls_dtls_prestate_set</a> (gnutls_session_t <var>session</var>, gnutls_dtls_prestate_st * <var>prestate</var>)</code></dt> -</dl> - -<p>Note that the above apply to server side only and they are not mandatory to be -used. Not using them, however, allows denial of service attacks. -The client side cookie handling is part of <a href="Core-TLS-API.html#gnutls_005fhandshake">gnutls_handshake</a>. -</p> -<p>Datagrams are typically restricted by a maximum transfer unit (MTU). For that -both client and server side should set the correct maximum transfer unit for -the layer underneath <acronym>GnuTLS</acronym>. This will allow proper fragmentation -of DTLS messages and prevent messages from being silently discarded by the -transport layer. The “correct” maximum transfer unit can be obtained through -a path MTU discovery mechanism [<em>RFC4821</em>]. -</p> -<dl compact="compact"> -<dt><code><var>void</var> <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fset_005fmtu">gnutls_dtls_set_mtu</a> (gnutls_session_t <var>session</var>, unsigned int <var>mtu</var>)</code></dt> -<dt><code><var>unsigned int</var> <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fget_005fmtu">gnutls_dtls_get_mtu</a> (gnutls_session_t <var>session</var>)</code></dt> -<dt><code><var>unsigned int</var> <a href="Datagram-TLS-API.html#gnutls_005fdtls_005fget_005fdata_005fmtu">gnutls_dtls_get_data_mtu</a> (gnutls_session_t <var>session</var>)</code></dt> -</dl> - -<div class="footnote"> -<hr> -<h4 class="footnotes-heading">Footnotes</h4> - -<h3><a name="FOOT18" href="#DOCF18">(18)</a></h3> -<p>A key of 128 bits or 16 bytes should be sufficient for this purpose.</p> -</div> -<hr> -<div class="header"> -<p> -Next: <a href="DTLS-and-SCTP.html#DTLS-and-SCTP" accesskey="n" rel="next">DTLS and SCTP</a>, Previous: <a href="Reducing-round_002dtrips.html#Reducing-round_002dtrips" accesskey="p" rel="prev">Reducing round-trips</a>, Up: <a href="Setting-up-the-transport-layer.html#Setting-up-the-transport-layer" accesskey="u" rel="up">Setting up the transport layer</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Function-and-Data-Index.html#Function-and-Data-Index" title="Index" rel="index">Index</a>]</p> -</div> - - - -</body> -</html> |