summaryrefslogtreecommitdiff
path: root/manual/html_node/Obtaining-session-information.html
diff options
context:
space:
mode:
Diffstat (limited to 'manual/html_node/Obtaining-session-information.html')
-rw-r--r--manual/html_node/Obtaining-session-information.html317
1 files changed, 0 insertions, 317 deletions
diff --git a/manual/html_node/Obtaining-session-information.html b/manual/html_node/Obtaining-session-information.html
deleted file mode 100644
index 5c93af9253..0000000000
--- a/manual/html_node/Obtaining-session-information.html
+++ /dev/null
@@ -1,317 +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: Obtaining session information</title>
-
-<meta name="description" content="GnuTLS 3.5.4: Obtaining session information">
-<meta name="keywords" content="GnuTLS 3.5.4: Obtaining session information">
-<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="Client-examples.html#Client-examples" rel="up" title="Client examples">
-<link href="Using-a-callback-to-select-the-certificate-to-use.html#Using-a-callback-to-select-the-certificate-to-use" rel="next" title="Using a callback to select the certificate to use">
-<link href="Simple-Datagram-TLS-client-example.html#Simple-Datagram-TLS-client-example" rel="prev" title="Simple Datagram TLS client example">
-<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="Obtaining-session-information"></a>
-<div class="header">
-<p>
-Next: <a href="Using-a-callback-to-select-the-certificate-to-use.html#Using-a-callback-to-select-the-certificate-to-use" accesskey="n" rel="next">Using a callback to select the certificate to use</a>, Previous: <a href="Simple-Datagram-TLS-client-example.html#Simple-Datagram-TLS-client-example" accesskey="p" rel="prev">Simple Datagram TLS client example</a>, Up: <a href="Client-examples.html#Client-examples" accesskey="u" rel="up">Client examples</a> &nbsp; [<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="Obtaining-session-information-1"></a>
-<h4 class="subsection">7.1.5 Obtaining session information</h4>
-
-<p>Most of the times it is desirable to know the security properties of
-the current established session. This includes the underlying ciphers
-and the protocols involved. That is the purpose of the following
-function. Note that this function will print meaningful values only
-if called after a successful <a href="Core-TLS-API.html#gnutls_005fhandshake">gnutls_handshake</a>.
-</p>
-<pre class="verbatim">/* This example code is placed in the public domain. */
-
-#ifdef HAVE_CONFIG_H
-#include &lt;config.h&gt;
-#endif
-
-#include &lt;stdio.h&gt;
-#include &lt;stdlib.h&gt;
-#include &lt;gnutls/gnutls.h&gt;
-#include &lt;gnutls/x509.h&gt;
-
-#include &quot;examples.h&quot;
-
-/* This function will print some details of the
- * given session.
- */
-int print_info(gnutls_session_t session)
-{
- const char *tmp;
- gnutls_credentials_type_t cred;
- gnutls_kx_algorithm_t kx;
- int dhe, ecdh;
-
- dhe = ecdh = 0;
-
- /* print the key exchange's algorithm name
- */
- kx = gnutls_kx_get(session);
- tmp = gnutls_kx_get_name(kx);
- printf(&quot;- Key Exchange: %s\n&quot;, tmp);
-
- /* Check the authentication type used and switch
- * to the appropriate.
- */
- cred = gnutls_auth_get_type(session);
- switch (cred) {
- case GNUTLS_CRD_IA:
- printf(&quot;- TLS/IA session\n&quot;);
- break;
-
-
-#ifdef ENABLE_SRP
- case GNUTLS_CRD_SRP:
- printf(&quot;- SRP session with username %s\n&quot;,
- gnutls_srp_server_get_username(session));
- break;
-#endif
-
- case GNUTLS_CRD_PSK:
- /* This returns NULL in server side.
- */
- if (gnutls_psk_client_get_hint(session) != NULL)
- printf(&quot;- PSK authentication. PSK hint '%s'\n&quot;,
- gnutls_psk_client_get_hint(session));
- /* This returns NULL in client side.
- */
- if (gnutls_psk_server_get_username(session) != NULL)
- printf(&quot;- PSK authentication. Connected as '%s'\n&quot;,
- gnutls_psk_server_get_username(session));
-
- if (kx == GNUTLS_KX_ECDHE_PSK)
- ecdh = 1;
- else if (kx == GNUTLS_KX_DHE_PSK)
- dhe = 1;
- break;
-
- case GNUTLS_CRD_ANON: /* anonymous authentication */
-
- printf(&quot;- Anonymous authentication.\n&quot;);
- if (kx == GNUTLS_KX_ANON_ECDH)
- ecdh = 1;
- else if (kx == GNUTLS_KX_ANON_DH)
- dhe = 1;
- break;
-
- case GNUTLS_CRD_CERTIFICATE: /* certificate authentication */
-
- /* Check if we have been using ephemeral Diffie-Hellman.
- */
- if (kx == GNUTLS_KX_DHE_RSA || kx == GNUTLS_KX_DHE_DSS)
- dhe = 1;
- else if (kx == GNUTLS_KX_ECDHE_RSA
- || kx == GNUTLS_KX_ECDHE_ECDSA)
- ecdh = 1;
-
- /* if the certificate list is available, then
- * print some information about it.
- */
- print_x509_certificate_info(session);
-
- } /* switch */
-
- if (ecdh != 0)
- printf(&quot;- Ephemeral ECDH using curve %s\n&quot;,
- gnutls_ecc_curve_get_name(gnutls_ecc_curve_get
- (session)));
- else if (dhe != 0)
- printf(&quot;- Ephemeral DH using prime of %d bits\n&quot;,
- gnutls_dh_get_prime_bits(session));
-
- /* print the protocol's name (ie TLS 1.0)
- */
- tmp =
- gnutls_protocol_get_name(gnutls_protocol_get_version(session));
- printf(&quot;- Protocol: %s\n&quot;, tmp);
-
- /* print the certificate type of the peer.
- * ie X.509
- */
- tmp =
- gnutls_certificate_type_get_name(gnutls_certificate_type_get
- (session));
-
- printf(&quot;- Certificate Type: %s\n&quot;, tmp);
-
- /* print the compression algorithm (if any)
- */
- tmp = gnutls_compression_get_name(gnutls_compression_get(session));
- printf(&quot;- Compression: %s\n&quot;, tmp);
-
- /* print the name of the cipher used.
- * ie 3DES.
- */
- tmp = gnutls_cipher_get_name(gnutls_cipher_get(session));
- printf(&quot;- Cipher: %s\n&quot;, tmp);
-
- /* Print the MAC algorithms name.
- * ie SHA1
- */
- tmp = gnutls_mac_get_name(gnutls_mac_get(session));
- printf(&quot;- MAC: %s\n&quot;, tmp);
-
- return 0;
-}
-</pre>
-<hr>
-<div class="header">
-<p>
-Next: <a href="Using-a-callback-to-select-the-certificate-to-use.html#Using-a-callback-to-select-the-certificate-to-use" accesskey="n" rel="next">Using a callback to select the certificate to use</a>, Previous: <a href="Simple-Datagram-TLS-client-example.html#Simple-Datagram-TLS-client-example" accesskey="p" rel="prev">Simple Datagram TLS client example</a>, Up: <a href="Client-examples.html#Client-examples" accesskey="u" rel="up">Client examples</a> &nbsp; [<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>