source: postlfs/security/gnutls.xml@ ad5a97d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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 ad5a97d was 2aceb4a, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Update to gnutls-3.5.12

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

  • Property mode set to 100644
File size: 12.8 KB
RevLine 
[d5404360]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
[a1682c0e]7 <!ENTITY gnutls-download-http "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.5/gnutls-&gnutls-version;.tar.xz">
[43ef29db]8 <!ENTITY gnutls-download-ftp "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5/gnutls-&gnutls-version;.tar.xz">
[2aceb4a]9 <!ENTITY gnutls-md5sum "216c036fc48ca1ee7ecb7afa6af85dea">
[d6661a1]10 <!ENTITY gnutls-size "6.9 MB">
[2aceb4a]11 <!ENTITY gnutls-buildsize "121 MB (add 42 MB for tests)">
12 <!ENTITY gnutls-time "1.5 SBU (add 6.4 SBU for tests)">
[d5404360]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
[3ee626e]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>
[6c6990c]48 <application>GnuTLS</application> provides support for TLS 1.2, TLS 1.1,
[8b830d32]49 TLS 1.0, and SSL 3.0 protocols, TLS extensions, including server name and max
[3ee626e]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>
[d5404360]55
[7fd2c27]56 &lfs80_checked;
[2aceb4a]57 &gcc7_checked;
[214718a]58
[d5404360]59 <bridgehead renderas="sect3">Package Information</bridgehead>
60 <itemizedlist spacing="compact">
[546b042]61 <listitem>
[3ee626e]62 <para>
63 Download (HTTP): <ulink url="&gnutls-download-http;"/>
64 </para>
[546b042]65 </listitem>
[d5404360]66 <listitem>
[3ee626e]67 <para>
68 Download (FTP): <ulink url="&gnutls-download-ftp;"/>
69 </para>
[d5404360]70 </listitem>
71 <listitem>
[3ee626e]72 <para>
73 Download MD5 sum: &gnutls-md5sum;
74 </para>
[d5404360]75 </listitem>
76 <listitem>
[3ee626e]77 <para>
78 Download size: &gnutls-size;
79 </para>
[d5404360]80 </listitem>
81 <listitem>
[3ee626e]82 <para>
83 Estimated disk space required: &gnutls-buildsize;
84 </para>
[d5404360]85 </listitem>
86 <listitem>
[3ee626e]87 <para>
88 Estimated build time: &gnutls-time;
89 </para>
[d5404360]90 </listitem>
91 </itemizedlist>
92
93 <bridgehead renderas="sect3">GnuTLS Dependencies</bridgehead>
94
95 <bridgehead renderas="sect4">Required</bridgehead>
[3ee626e]96 <para role="required">
97 <xref linkend="nettle"/>
98 </para>
[d5404360]99
[5eaf9af8]100 <bridgehead renderas="sect4">Recommended</bridgehead>
101 <para role="recommended">
[74239ce]102 <xref linkend="cacerts"/>,
[c805117a]103 <xref linkend="libunistring"/>,
104 <xref linkend="libtasn1"/>, and
[74239ce]105 <xref linkend="p11-kit"/>
[5eaf9af8]106 </para>
107
[d5404360]108 <bridgehead renderas="sect4">Optional</bridgehead>
[0c6c35d]109 <para role="optional">
[b9abcb5]110 <xref linkend="doxygen"/>,
[0c6c35d]111 <xref linkend="gtk-doc"/>,
[c202a254]112 <xref linkend="guile"/>,
[4412abb2]113 <xref linkend="libidn"/> or
114 <ulink url="https://www.gnu.org/software/libidn/libidn2/manual/libidn2.html">libidn2</ulink>,
[dd7d9b0]115 <xref linkend="net-tools"/> (used during the test suite),
[b9abcb5]116 <xref linkend="texlive"/> or <xref linkend="tl-installer"/>,
[6c6990c]117 <xref linkend="unbound"/> (to build the DANE library),
[ffa3d4e]118 <xref linkend="valgrind"/> (used during the test suite),
[bd86aa8]119 <ulink url="http://ftp.gnu.org/gnu/autogen/">autogen</ulink>,
[4412abb2]120 <ulink url="https://cmocka.org/">cmocka</ulink> and
121 <ulink url="http://ftp.debian.org/debian/pool/main/d/datefudge/">datefudge</ulink> (used during the test suite if the DANE library is built), and
[ffa3d4e]122 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
[3ee626e]123 </para>
[d5404360]124
[d224244f]125 <note><para>
[3ee626e]126 Note that if you do not install <xref linkend="libtasn1"/>, an older
127 version shipped in the <application>GnuTLS</application> tarball will be
128 used instead.
[d224244f]129 </para></note>
[38b68055]130
[d5404360]131 <para condition="html" role="usernotes">User Notes:
[5eaf9af8]132 <ulink url="&blfs-wiki;/gnutls"/>
133 </para>
[d5404360]134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of GnuTLS</title>
138
[3ee626e]139 <para>
140 Install <application>GnuTLS</application> by running the
141 following commands:
142 </para>
[d5404360]143
[1c8a066f]144<screen><userinput>./configure --prefix=/usr \
[643ea782]145 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
[d5404360]146make</userinput></screen>
147
[3ee626e]148 <para>
[3990b6ae]149 To test the results, issue: <command>make check</command>. If a prior
[29f710e]150 version of <application>GnuTLS</application> (or the same version but
[f586237]151 without all of the recommended dependencies) has been installed, some
[29f710e]152 tests may fail. If <filename>/usr/lib/libgnutls.so</filename> and the
153 target of that symlink are moved or renamed so that they cannot be found,
154 all tests should pass and the install procedure will restore
155 <filename>libgnutls.so</filename> and the versioned library it points to.
[3ee626e]156 </para>
[d5404360]157
[3ee626e]158 <para>
159 Now, as the <systemitem class="username">root</systemitem>
160 user:
161 </para>
[d5404360]162
[73d97caf]163<screen role="root"><userinput>make install</userinput></screen>
[d5404360]164
[3ee626e]165 <para>
[dd3d87b]166 If you passed <option>--enable-gtk-doc</option> to the
167 <command>configure</command> script, the API will automatically be
168 installed. Otherwise, if desired, you can still install the API
[b9abcb5]169 documentation to the <filename
170 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
[dd3d87b]171 using the following command as the <systemitem
172 class="username">root</systemitem> user:
[3ee626e]173 </para>
[2e81579]174
175<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
176
[d5404360]177 </sect2>
178
[d309b21]179 <sect2 role="commands">
180 <title>Command Explanations</title>
181
[4c39aff]182 <para>
183 <parameter>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</parameter>:
184 This switch tells <command>configure</command> where to find the
185 CA Certificates.
186 </para>
187
[e05cd03f]188 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[5eaf9af8]189 href="../../xincludes/gtk-doc-rebuild.xml"/>
[d309b21]190
[b9abcb5]191 <para>
192 <option>--enable-openssl-compatibility</option>:
[74239ce]193 Use this switch if you wish to build the OpenSSL compatibility library.
194 </para>
195
196 <para>
197 <option>--without-p11-kit</option>: use this switch if you have not
198 installed <application>p11-kit</application>.
[b9abcb5]199 </para>
200
[c805117a]201 <para>
202 <option>--with-included-unistring</option>: uses the bundled version of
203 libunistring, instead of the system one. Use this switch if you have not
204 installed <xref linkend="libunistring"/>.
205 </para>
206
[d309b21]207 </sect2>
208
[d5404360]209 <sect2 role="content">
210 <title>Contents</title>
211
212 <segmentedlist>
213 <segtitle>Installed Programs</segtitle>
214 <segtitle>Installed Libraries</segtitle>
[32dfb13c]215 <segtitle>Installed Directories</segtitle>
[d5404360]216
217 <seglistitem>
[3ee626e]218 <seg>
[495703a]219 certtool, danetool, gnutls-cli, gnutls-cli-debug,
[c202a254]220 gnutls-serv, ocsptool, p11tool, psktool, and srptool
[3ee626e]221 </seg>
222 <seg>
[ac55e029]223 libgnutls.so, libgnutls-dane.so, libgnutlsxx.so,
224 libgnutls-openssl.so, and
[c202a254]225 /usr/lib/guile/2.0/guile-gnutls-v-2.so
[3ee626e]226 </seg>
227 <seg>
[495703a]228 /usr/{include,share/gtk-doc/html,share/guile/site/2.0}/gnutls
[3ee626e]229 </seg>
[d5404360]230 </seglistitem>
231 </segmentedlist>
232
233 <variablelist>
234 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
235 <?dbfo list-presentation="list"?>
236 <?dbhtml list-presentation="table"?>
237
238 <varlistentry id="certtool">
239 <term><command>certtool</command></term>
240 <listitem>
[3ee626e]241 <para>
242 is used to generate X.509 certificates, certificate requests,
243 and private keys.
244 </para>
[d5404360]245 <indexterm zone="gnutls certtool">
246 <primary sortas="b-certtool">certtool</primary>
247 </indexterm>
248 </listitem>
249 </varlistentry>
[495703a]250<!--
251 Removed after 3.5.0 according to the NEWS file.
[a5c54e0]252 <varlistentry id="crywrap">
253 <term><command>crywrap</command></term>
254 <listitem>
255 <para>
[14ea7e8]256 is a simple wrapper that waits for TLS/SSL connections,
[2fd089ac]257 and proxies them to an unencrypted location. Only installed if
[afa551a]258 <xref linkend="libidn"/> is present.
[a5c54e0]259 </para>
260 <indexterm zone="gnutls crywrap">
261 <primary sortas="b-crywrap">crywrap</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
[495703a]265-->
[a5c54e0]266
[4c39aff]267 <varlistentry id="danetool">
268 <term><command>danetool</command></term>
269 <listitem>
270 <para>
271 is a tool used to generate and check DNS resource records
272 for the DANE protocol.
273 </para>
274 <indexterm zone="gnutls danetool">
275 <primary sortas="b-danetool">danetool</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
[d5404360]280 <varlistentry id="gnutls-cli">
281 <term><command>gnutls-cli</command></term>
282 <listitem>
[3ee626e]283 <para>
284 is a simple client program to set up a TLS connection to some
285 other computer.
286 </para>
[d5404360]287 <indexterm zone="gnutls gnutls-cli">
288 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
289 </indexterm>
290 </listitem>
291 </varlistentry>
292
293 <varlistentry id="gnutls-cli-debug">
294 <term><command>gnutls-cli-debug</command></term>
295 <listitem>
[3ee626e]296 <para>
297 is a simple client program to set up a TLS connection to some
298 other computer and produces very verbose progress results.
299 </para>
[d5404360]300 <indexterm zone="gnutls gnutls-cli-debug">
301 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
302 </indexterm>
303 </listitem>
304 </varlistentry>
305
306 <varlistentry id="gnutls-serv">
307 <term><command>gnutls-serv</command></term>
308 <listitem>
[3ee626e]309 <para>
310 is a simple server program that listens to incoming TLS
311 connections.
312 </para>
[d5404360]313 <indexterm zone="gnutls gnutls-serv">
314 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
315 </indexterm>
316 </listitem>
317 </varlistentry>
318
[546b042]319 <varlistentry id="ocsptool">
320 <term><command>ocsptool</command></term>
321 <listitem>
[3ee626e]322 <para>
[0d7900a]323 is a program that can parse and print information about OCSP
[3ee626e]324 requests/responses, generate requests and verify responses.
325 </para>
[546b042]326 <indexterm zone="gnutls ocsptool">
327 <primary sortas="b-ocsptool">ocsptool</primary>
328 </indexterm>
329 </listitem>
330 </varlistentry>
331
332 <varlistentry id="p11tool">
333 <term><command>p11tool</command></term>
334 <listitem>
[3ee626e]335 <para>
336 is a program that allows handling data from PKCS #11 smart cards
337 and security modules.
338 </para>
[546b042]339 <indexterm zone="gnutls p11tool">
340 <primary sortas="b-p11tool">p11tool</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
[d5404360]345 <varlistentry id="psktool">
346 <term><command>psktool</command></term>
347 <listitem>
[3ee626e]348 <para>
349 is a simple program that generates random keys for use with TLS-PSK.
350 </para>
[d5404360]351 <indexterm zone="gnutls psktool">
352 <primary sortas="b-psktool">psktool</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="srptool">
358 <term><command>srptool</command></term>
359 <listitem>
[3ee626e]360 <para>
361 is a simple program that emulates the programs in the Stanford
362 SRP (Secure Remote Password) libraries using GnuTLS.
363 </para>
[d5404360]364 <indexterm zone="gnutls srptool">
365 <primary sortas="b-srptool">srptool</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry id="libgnutls">
[73d97caf]371 <term><filename class="libraryfile">libgnutls.so</filename></term>
[d5404360]372 <listitem>
[3ee626e]373 <para>
374 contains the core API functions and X.509 certificate API functions.
375 </para>
[d5404360]376 <indexterm zone="gnutls libgnutls">
[5eaf9af8]377 <primary sortas="c-libgnutls">libgnutls.so</primary>
[d5404360]378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 </variablelist>
383
384 </sect2>
385
386</sect1>
Note: See TracBrowser for help on using the repository browser.