summaryrefslogtreecommitdiff
path: root/manual/html_node/Simple-client-example-with-anonymous-authentication.html
diff options
context:
space:
mode:
Diffstat (limited to 'manual/html_node/Simple-client-example-with-anonymous-authentication.html')
-rw-r--r--manual/html_node/Simple-client-example-with-anonymous-authentication.html299
1 files changed, 0 insertions, 299 deletions
diff --git a/manual/html_node/Simple-client-example-with-anonymous-authentication.html b/manual/html_node/Simple-client-example-with-anonymous-authentication.html
deleted file mode 100644
index 07fb07561c..0000000000
--- a/manual/html_node/Simple-client-example-with-anonymous-authentication.html
+++ /dev/null
@@ -1,299 +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: Simple client example with anonymous authentication</title>
-
-<meta name="description" content="GnuTLS 3.5.4: Simple client example with anonymous authentication">
-<meta name="keywords" content="GnuTLS 3.5.4: Simple client example with anonymous authentication">
-<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="Simple-Datagram-TLS-client-example.html#Simple-Datagram-TLS-client-example" rel="next" title="Simple Datagram TLS client example">
-<link href="Simple-client-example-with-SSH_002dstyle-certificate-verification.html#Simple-client-example-with-SSH_002dstyle-certificate-verification" rel="prev" title="Simple client example with SSH-style certificate verification">
-<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="Simple-client-example-with-anonymous-authentication"></a>
-<div class="header">
-<p>
-Next: <a href="Simple-Datagram-TLS-client-example.html#Simple-Datagram-TLS-client-example" accesskey="n" rel="next">Simple Datagram TLS client example</a>, Previous: <a href="Simple-client-example-with-SSH_002dstyle-certificate-verification.html#Simple-client-example-with-SSH_002dstyle-certificate-verification" accesskey="p" rel="prev">Simple client example with SSH-style certificate verification</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="Simple-client-example-with-anonymous-authentication-1"></a>
-<h4 class="subsection">7.1.3 Simple client example with anonymous authentication</h4>
-
-<p>The simplest client using TLS is the one that doesn&rsquo;t do any
-authentication. This means no external certificates or passwords are
-needed to set up the connection. As could be expected, the connection
-is vulnerable to man-in-the-middle (active or redirection) attacks.
-However, the data are integrity protected and encrypted from
-passive eavesdroppers.
-</p>
-<p>Note that due to the vulnerable nature of this method very few public
-servers support it.
-</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;string.h&gt;
-#include &lt;sys/types.h&gt;
-#include &lt;sys/socket.h&gt;
-#include &lt;arpa/inet.h&gt;
-#include &lt;unistd.h&gt;
-#include &lt;gnutls/gnutls.h&gt;
-
-/* A very basic TLS client, with anonymous authentication.
- */
-
-#define MAX_BUF 1024
-#define MSG &quot;GET / HTTP/1.0\r\n\r\n&quot;
-
-extern int tcp_connect(void);
-extern void tcp_close(int sd);
-
-int main(void)
-{
- int ret, sd, ii;
- gnutls_session_t session;
- char buffer[MAX_BUF + 1];
- gnutls_anon_client_credentials_t anoncred;
- /* Need to enable anonymous KX specifically. */
-
- gnutls_global_init();
-
- gnutls_anon_allocate_client_credentials(&amp;anoncred);
-
- /* Initialize TLS session
- */
- gnutls_init(&amp;session, GNUTLS_CLIENT);
-
- /* Use default priorities */
- gnutls_priority_set_direct(session,
- &quot;PERFORMANCE:+ANON-ECDH:+ANON-DH&quot;,
- NULL);
-
- /* put the anonymous credentials to the current session
- */
- gnutls_credentials_set(session, GNUTLS_CRD_ANON, anoncred);
-
- /* connect to the peer
- */
- sd = tcp_connect();
-
- gnutls_transport_set_int(session, sd);
- gnutls_handshake_set_timeout(session,
- GNUTLS_DEFAULT_HANDSHAKE_TIMEOUT);
-
- /* Perform the TLS handshake
- */
- do {
- ret = gnutls_handshake(session);
- }
- while (ret &lt; 0 &amp;&amp; gnutls_error_is_fatal(ret) == 0);
-
- if (ret &lt; 0) {
- fprintf(stderr, &quot;*** Handshake failed\n&quot;);
- gnutls_perror(ret);
- goto end;
- } else {
- char *desc;
-
- desc = gnutls_session_get_desc(session);
- printf(&quot;- Session info: %s\n&quot;, desc);
- gnutls_free(desc);
- }
-
- gnutls_record_send(session, MSG, strlen(MSG));
-
- ret = gnutls_record_recv(session, buffer, MAX_BUF);
- if (ret == 0) {
- printf(&quot;- Peer has closed the TLS connection\n&quot;);
- goto end;
- } else if (ret &lt; 0 &amp;&amp; gnutls_error_is_fatal(ret) == 0) {
- fprintf(stderr, &quot;*** Warning: %s\n&quot;, gnutls_strerror(ret));
- } else if (ret &lt; 0) {
- fprintf(stderr, &quot;*** Error: %s\n&quot;, gnutls_strerror(ret));
- goto end;
- }
-
- if (ret &gt; 0) {
- printf(&quot;- Received %d bytes: &quot;, ret);
- for (ii = 0; ii &lt; ret; ii++) {
- fputc(buffer[ii], stdout);
- }
- fputs(&quot;\n&quot;, stdout);
- }
-
- gnutls_bye(session, GNUTLS_SHUT_RDWR);
-
- end:
-
- tcp_close(sd);
-
- gnutls_deinit(session);
-
- gnutls_anon_free_client_credentials(anoncred);
-
- gnutls_global_deinit();
-
- return 0;
-}
-</pre>
-
-<hr>
-<div class="header">
-<p>
-Next: <a href="Simple-Datagram-TLS-client-example.html#Simple-Datagram-TLS-client-example" accesskey="n" rel="next">Simple Datagram TLS client example</a>, Previous: <a href="Simple-client-example-with-SSH_002dstyle-certificate-verification.html#Simple-client-example-with-SSH_002dstyle-certificate-verification" accesskey="p" rel="prev">Simple client example with SSH-style certificate verification</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>