source: postlfs/security/gnutls.xml@ b9abcb5

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since b9abcb5 was b9abcb5, checked in by Fernando de Oliveira <fernando@…>, 9 years ago

Update to p11-kit-0.23.1.
Update to nettle-3.1.1.
Update to gnutls-3.4.0.
emacs-24.5: code broken with gnutls-3.4 and later.
samba-4.2.1: fix some code when building with gnutls-3.4 and later.
neon-0.30.1: fix some code when building with gnutls-3.4 and later.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@15878 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 11.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY gnutls-download-http " ">
8 <!ENTITY gnutls-download-ftp "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-&gnutls-version;.tar.xz">
9 <!ENTITY gnutls-md5sum "aa015c2666b031044edfb01b01980d84">
10 <!ENTITY gnutls-size "6.2 MB">
11 <!ENTITY gnutls-buildsize "124 MB (with built in API documentation; additional 15 MB for tests)">
12 <!ENTITY gnutls-time "0.8 SBU (additional 2.6 SBU for tests)">
13]>
14
15<sect1 id="gnutls" xreflabel="GnuTLS-&gnutls-version;">
16 <?dbhtml filename="gnutls.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GnuTLS-&gnutls-version;</title>
24
25 <indexterm zone="gnutls">
26 <primary sortas="a-GnuTLS">GnuTLS</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GnuTLS</title>
31
32 <para>
33 The <application>GnuTLS</application> package contains libraries and
34 userspace tools which provide a secure layer over a reliable transport
35 layer. Currently the <application>GnuTLS</application> library implements
36 the proposed standards by the IETF's TLS working group. Quoting from the
37 TLS protocol specification:
38 </para>
39
40 <para>
41 <quote>The TLS protocol provides communications privacy over the
42 Internet. The protocol allows client/server applications to communicate in
43 a way that is designed to prevent eavesdropping, tampering, or message
44 forgery.</quote>
45 </para>
46
47 <para>
48 <application>GnuTLS</application> provides support for TLS 1.2, TLS 1.1,
49 TLS 1.0, and SSL 3.0 protocols, TLS extensions, including server name and max
50 record size. Additionally, the library supports authentication using the
51 SRP protocol, X.509 certificates and OpenPGP keys, along with support for
52 the TLS Pre-Shared-Keys (PSK) extension, the Inner Application (TLS/IA)
53 extension and X.509 and OpenPGP certificate handling.
54 </para>
55
56 &lfs77_checked;
57
58 <bridgehead renderas="sect3">Package Information</bridgehead>
59 <itemizedlist spacing="compact">
60 <listitem>
61 <para>
62 Download (HTTP): <ulink url="&gnutls-download-http;"/>
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Download (FTP): <ulink url="&gnutls-download-ftp;"/>
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Download MD5 sum: &gnutls-md5sum;
73 </para>
74 </listitem>
75 <listitem>
76 <para>
77 Download size: &gnutls-size;
78 </para>
79 </listitem>
80 <listitem>
81 <para>
82 Estimated disk space required: &gnutls-buildsize;
83 </para>
84 </listitem>
85 <listitem>
86 <para>
87 Estimated build time: &gnutls-time;
88 </para>
89 </listitem>
90 </itemizedlist>
91
92 <bridgehead renderas="sect3">GnuTLS Dependencies</bridgehead>
93
94 <bridgehead renderas="sect4">Required</bridgehead>
95 <para role="required">
96 <xref linkend="nettle"/>
97 </para>
98
99 <bridgehead renderas="sect4">Recommended</bridgehead>
100 <para role="recommended">
101 <xref linkend="cacerts"/> and
102 <xref linkend="libtasn1"/>
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <xref linkend="doxygen"/>,
108 <xref linkend="gtk-doc"/>,
109 <xref linkend="guile"/>,
110 <xref linkend="libidn"/>,
111 <xref linkend="p11-kit"/>,
112 <xref linkend="texlive"/> or <xref linkend="tl-installer"/>,
113 <xref linkend="unbound"/> (to build the DANE library),
114 <xref linkend="valgrind"/> (used during the test suite),
115 <ulink url="http://ftp.gnu.org/gnu/autogen/">autogen</ulink>, and
116 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
117 </para>
118
119 <note><para>
120 Note that if you do not install <xref linkend="libtasn1"/>, an older
121 version shipped in the <application>GnuTLS</application> tarball will be
122 used instead.
123 </para></note>
124
125 <para condition="html" role="usernotes">User Notes:
126 <ulink url="&blfs-wiki;/gnutls"/>
127 </para>
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of GnuTLS</title>
132
133 <para>
134 Install <application>GnuTLS</application> by running the
135 following commands:
136 </para>
137
138<screen><userinput>sed -e '/FUNCS=/ s/-d/&amp;|uniq/' \
139 -e '/get_x509_crt/ {n;d}' \
140 -e '/get_x509_key/ {n;d}' \
141 -e '/get_verify_flags/ {n;d}' \
142 -i doc/manpages/Makefile &amp;&amp;
143
144./configure --prefix=/usr \
145 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
146make</userinput></screen>
147
148 <para>
149 To test the results, issue: <command>make check</command>.
150 </para>
151
152 <para>
153 Now, as the <systemitem class="username">root</systemitem>
154 user:
155 </para>
156
157<screen role="root"><userinput>make install</userinput></screen>
158
159 <para>
160 If you did not pass the <option>--enable-gtk-doc</option> parameter to
161 the <command>configure</command> script, you can install the API
162 documentation to the <filename
163 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
164 using the following command as the
165 <systemitem class="username">root</systemitem> user:
166 </para>
167
168<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
169
170 </sect2>
171
172 <sect2 role="commands">
173 <title>Command Explanations</title>
174
175 <para>
176 <command>sed -e ... -i doc/manpages/Makefile</command>:
177 This command removes some duplicate lines and fixes the doc Makefile.
178 </para>
179
180 <para>
181 <parameter>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</parameter>:
182 This switch tells <command>configure</command> where to find the
183 CA Certificates.
184 </para>
185
186 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
187 href="../../xincludes/gtk-doc-rebuild.xml"/>
188
189 <para>
190 <option>--enable-openssl-compatibility</option>:
191 Use this switch if you wish building the OpenSSL compatibility library.
192 </para>
193
194 </sect2>
195
196 <sect2 role="content">
197 <title>Contents</title>
198
199 <segmentedlist>
200 <segtitle>Installed Programs</segtitle>
201 <segtitle>Installed Libraries</segtitle>
202 <segtitle>Installed Directories</segtitle>
203
204 <seglistitem>
205 <seg>
206 certtool, crywrap, danetool, gnutls-cli, gnutls-cli-debug,
207 gnutls-serv, ocsptool, p11tool, psktool, and srptool
208 </seg>
209 <seg>
210 libgnutls.so, libgnutls-dane.so,
211 libgnutls-openssl.so, libgnutlsxx.so, and
212 /usr/lib/guile/2.0/guile-gnutls-v-2.so
213 </seg>
214 <seg>
215 /usr/include/gnutls,
216 /usr/share/gtk-doc/html/gnutls, and
217 /usr/share/guile/site/gnutls
218 </seg>
219 </seglistitem>
220 </segmentedlist>
221
222 <variablelist>
223 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
224 <?dbfo list-presentation="list"?>
225 <?dbhtml list-presentation="table"?>
226
227 <varlistentry id="certtool">
228 <term><command>certtool</command></term>
229 <listitem>
230 <para>
231 is used to generate X.509 certificates, certificate requests,
232 and private keys.
233 </para>
234 <indexterm zone="gnutls certtool">
235 <primary sortas="b-certtool">certtool</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="crywrap">
241 <term><command>crywrap</command></term>
242 <listitem>
243 <para>
244 is a simple wrapper that waits for TLS/SSL connections,
245 and proxies them to an unencrypted location. Only installed if
246 <xref linkend="libidn"/> is present.
247 </para>
248 <indexterm zone="gnutls crywrap">
249 <primary sortas="b-crywrap">crywrap</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry id="danetool">
255 <term><command>danetool</command></term>
256 <listitem>
257 <para>
258 is a tool used to generate and check DNS resource records
259 for the DANE protocol.
260 </para>
261 <indexterm zone="gnutls danetool">
262 <primary sortas="b-danetool">danetool</primary>
263 </indexterm>
264 </listitem>
265 </varlistentry>
266
267 <varlistentry id="gnutls-cli">
268 <term><command>gnutls-cli</command></term>
269 <listitem>
270 <para>
271 is a simple client program to set up a TLS connection to some
272 other computer.
273 </para>
274 <indexterm zone="gnutls gnutls-cli">
275 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="gnutls-cli-debug">
281 <term><command>gnutls-cli-debug</command></term>
282 <listitem>
283 <para>
284 is a simple client program to set up a TLS connection to some
285 other computer and produces very verbose progress results.
286 </para>
287 <indexterm zone="gnutls gnutls-cli-debug">
288 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
289 </indexterm>
290 </listitem>
291 </varlistentry>
292
293 <varlistentry id="gnutls-serv">
294 <term><command>gnutls-serv</command></term>
295 <listitem>
296 <para>
297 is a simple server program that listens to incoming TLS
298 connections.
299 </para>
300 <indexterm zone="gnutls gnutls-serv">
301 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
302 </indexterm>
303 </listitem>
304 </varlistentry>
305
306 <varlistentry id="ocsptool">
307 <term><command>ocsptool</command></term>
308 <listitem>
309 <para>
310 is a program that can parse and print information about OCSP
311 requests/responses, generate requests and verify responses.
312 </para>
313 <indexterm zone="gnutls ocsptool">
314 <primary sortas="b-ocsptool">ocsptool</primary>
315 </indexterm>
316 </listitem>
317 </varlistentry>
318
319 <varlistentry id="p11tool">
320 <term><command>p11tool</command></term>
321 <listitem>
322 <para>
323 is a program that allows handling data from PKCS #11 smart cards
324 and security modules.
325 </para>
326 <indexterm zone="gnutls p11tool">
327 <primary sortas="b-p11tool">p11tool</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="psktool">
333 <term><command>psktool</command></term>
334 <listitem>
335 <para>
336 is a simple program that generates random keys for use with TLS-PSK.
337 </para>
338 <indexterm zone="gnutls psktool">
339 <primary sortas="b-psktool">psktool</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="srptool">
345 <term><command>srptool</command></term>
346 <listitem>
347 <para>
348 is a simple program that emulates the programs in the Stanford
349 SRP (Secure Remote Password) libraries using GnuTLS.
350 </para>
351 <indexterm zone="gnutls srptool">
352 <primary sortas="b-srptool">srptool</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="libgnutls">
358 <term><filename class="libraryfile">libgnutls.so</filename></term>
359 <listitem>
360 <para>
361 contains the core API functions and X.509 certificate API functions.
362 </para>
363 <indexterm zone="gnutls libgnutls">
364 <primary sortas="c-libgnutls">libgnutls.so</primary>
365 </indexterm>
366 </listitem>
367 </varlistentry>
368
369 </variablelist>
370
371 </sect2>
372
373</sect1>
Note: See TracBrowser for help on using the repository browser.