source: postlfs/security/gnutls.xml@ b199507

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 b199507 was b199507, checked in by Fernando de Oliveira <fernando@…>, 9 years ago

Update to gnutls-3.4.1.

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

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