source: postlfs/security/gnutls.xml@ 0027013

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.7 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 krejzi/svn 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 0027013 was 19448df, checked in by Pierre Labastie <pieere@…>, 10 years ago

Fix building of gnutls without p11-kit

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

  • Property mode set to 100644
File size: 11.5 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 " ">
[f0cd0274]8 <!ENTITY gnutls-download-ftp "ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-&gnutls-version;.tar.xz">
[fa668ec]9 <!ENTITY gnutls-md5sum "a7a73cfa883cd106d70b15300552a5b5">
[06a4a82]10 <!ENTITY gnutls-size "5.8 MB">
[fa668ec]11 <!ENTITY gnutls-buildsize "104 MB (additional 8 MB for the tests)">
12 <!ENTITY gnutls-time "0.9 SBU (additional 1.8 SBU for the 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>
48 <application>GnuTLS</application> provides support for TLS 1.1, TLS
49 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>
[d5404360]55
[8bb9f27d]56 &lfs75_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">
[4c39aff]101 <xref linkend="cacerts"/> and
[5eaf9af8]102 <xref linkend="libtasn1"/>
103 </para>
104
[d5404360]105 <bridgehead renderas="sect4">Optional</bridgehead>
[0c6c35d]106 <para role="optional">
107 <xref linkend="gtk-doc"/>,
[c202a254]108 <xref linkend="guile"/>,
[546b042]109 <xref linkend="libidn"/>,
[ba1be62]110 <xref linkend="p11-kit"/>,
[ffa3d4e]111 <xref linkend="unbound"/> (to build the DANE library),
112 <xref linkend="valgrind"/> (used during the test suite),
113 <ulink url="http://ftp.gnu.org/gnu/autogen/">autogen</ulink>, and
114 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
[3ee626e]115 </para>
[d5404360]116
[d224244f]117 <note><para>
[3ee626e]118 Note that if you do not install <xref linkend="libtasn1"/>, an older
119 version shipped in the <application>GnuTLS</application> tarball will be
120 used instead.
[d224244f]121 </para></note>
[38b68055]122
[d5404360]123 <para condition="html" role="usernotes">User Notes:
[5eaf9af8]124 <ulink url="&blfs-wiki;/gnutls"/>
125 </para>
[d5404360]126 </sect2>
127
128 <sect2 role="installation">
129 <title>Installation of GnuTLS</title>
130
[19448df]131 <para><!-- Only for 3.3.7, remove for next versions -->
132 First fix a bug in one of the libraries:
133 </para>
134
135<screen><userinput>sed -i -e '201 i#ifdef ENABLE_PKCS11' \
136 -e '213 i#endif' \
137 lib/gnutls_privkey.c</userinput></screen>
138
[3ee626e]139 <para>
140 Install <application>GnuTLS</application> by running the
141 following commands:
142 </para>
[d5404360]143
[87dddd1e]144<screen><userinput>./configure --prefix=/usr \
[4c39aff]145 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
[d5404360]146make</userinput></screen>
147
[3ee626e]148 <para>
[c202a254]149 To test the results, issue: <command>make check</command>.
[3ee626e]150 </para>
[d5404360]151
[3ee626e]152 <para>
153 Now, as the <systemitem class="username">root</systemitem>
154 user:
155 </para>
[d5404360]156
[73d97caf]157<screen role="root"><userinput>make install</userinput></screen>
[d5404360]158
[3ee626e]159 <para>
160 If you did not pass the <option>--enable-gtk-doc</option> parameter
[7b7e01c3]161 to the <command>configure</command> script, you can install the API documentation
[0d7900a]162 to the <filename class="directory">/usr/share/gtk-doc/html/gnutls</filename>
163 directory using the following command as the
[3ee626e]164 <systemitem class="username">root</systemitem> user:
165 </para>
[2e81579]166
167<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
168
[d5404360]169 </sect2>
170
[d309b21]171 <sect2 role="commands">
172 <title>Command Explanations</title>
173
[4c39aff]174 <para>
175 <parameter>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</parameter>:
176 This switch tells <command>configure</command> where to find the
177 CA Certificates.
178 </para>
179
[e05cd03f]180 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
[5eaf9af8]181 href="../../xincludes/gtk-doc-rebuild.xml"/>
[d309b21]182
183 </sect2>
184
[d5404360]185 <sect2 role="content">
186 <title>Contents</title>
187
188 <segmentedlist>
189 <segtitle>Installed Programs</segtitle>
190 <segtitle>Installed Libraries</segtitle>
[32dfb13c]191 <segtitle>Installed Directories</segtitle>
[d5404360]192
193 <seglistitem>
[3ee626e]194 <seg>
[7b7e01c3]195 certtool, crywrap, danetool, gnutls-cli, gnutls-cli-debug,
[c202a254]196 gnutls-serv, ocsptool, p11tool, psktool, and srptool
[3ee626e]197 </seg>
198 <seg>
[c202a254]199 libgnutls.so, libgnutls-dane.so,
200 libgnutls-openssl.so, libgnutlsxx.so, and
201 /usr/lib/guile/2.0/guile-gnutls-v-2.so
[3ee626e]202 </seg>
203 <seg>
[c202a254]204 /usr/include/gnutls,
205 /usr/share/gtk-doc/html/gnutls, and
[1c345ed]206 /usr/share/guile/site/gnutls
[3ee626e]207 </seg>
[d5404360]208 </seglistitem>
209 </segmentedlist>
210
211 <variablelist>
212 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
213 <?dbfo list-presentation="list"?>
214 <?dbhtml list-presentation="table"?>
215
216 <varlistentry id="certtool">
217 <term><command>certtool</command></term>
218 <listitem>
[3ee626e]219 <para>
220 is used to generate X.509 certificates, certificate requests,
221 and private keys.
222 </para>
[d5404360]223 <indexterm zone="gnutls certtool">
224 <primary sortas="b-certtool">certtool</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
[a5c54e0]229 <varlistentry id="crywrap">
230 <term><command>crywrap</command></term>
231 <listitem>
232 <para>
[14ea7e8]233 is a simple wrapper that waits for TLS/SSL connections,
[2fd089ac]234 and proxies them to an unencrypted location. Only installed if
[afa551a]235 <xref linkend="libidn"/> is present.
[a5c54e0]236 </para>
237 <indexterm zone="gnutls crywrap">
238 <primary sortas="b-crywrap">crywrap</primary>
239 </indexterm>
240 </listitem>
241 </varlistentry>
242
[4c39aff]243 <varlistentry id="danetool">
244 <term><command>danetool</command></term>
245 <listitem>
246 <para>
247 is a tool used to generate and check DNS resource records
248 for the DANE protocol.
249 </para>
250 <indexterm zone="gnutls danetool">
251 <primary sortas="b-danetool">danetool</primary>
252 </indexterm>
253 </listitem>
254 </varlistentry>
255
[d5404360]256 <varlistentry id="gnutls-cli">
257 <term><command>gnutls-cli</command></term>
258 <listitem>
[3ee626e]259 <para>
260 is a simple client program to set up a TLS connection to some
261 other computer.
262 </para>
[d5404360]263 <indexterm zone="gnutls gnutls-cli">
264 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="gnutls-cli-debug">
270 <term><command>gnutls-cli-debug</command></term>
271 <listitem>
[3ee626e]272 <para>
273 is a simple client program to set up a TLS connection to some
274 other computer and produces very verbose progress results.
275 </para>
[d5404360]276 <indexterm zone="gnutls gnutls-cli-debug">
277 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
278 </indexterm>
279 </listitem>
280 </varlistentry>
281
282 <varlistentry id="gnutls-serv">
283 <term><command>gnutls-serv</command></term>
284 <listitem>
[3ee626e]285 <para>
286 is a simple server program that listens to incoming TLS
287 connections.
288 </para>
[d5404360]289 <indexterm zone="gnutls gnutls-serv">
290 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
[546b042]295 <varlistentry id="ocsptool">
296 <term><command>ocsptool</command></term>
297 <listitem>
[3ee626e]298 <para>
[0d7900a]299 is a program that can parse and print information about OCSP
[3ee626e]300 requests/responses, generate requests and verify responses.
301 </para>
[546b042]302 <indexterm zone="gnutls ocsptool">
303 <primary sortas="b-ocsptool">ocsptool</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 <varlistentry id="p11tool">
309 <term><command>p11tool</command></term>
310 <listitem>
[3ee626e]311 <para>
312 is a program that allows handling data from PKCS #11 smart cards
313 and security modules.
314 </para>
[546b042]315 <indexterm zone="gnutls p11tool">
316 <primary sortas="b-p11tool">p11tool</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
[d5404360]321 <varlistentry id="psktool">
322 <term><command>psktool</command></term>
323 <listitem>
[3ee626e]324 <para>
325 is a simple program that generates random keys for use with TLS-PSK.
326 </para>
[d5404360]327 <indexterm zone="gnutls psktool">
328 <primary sortas="b-psktool">psktool</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="srptool">
334 <term><command>srptool</command></term>
335 <listitem>
[3ee626e]336 <para>
337 is a simple program that emulates the programs in the Stanford
338 SRP (Secure Remote Password) libraries using GnuTLS.
339 </para>
[d5404360]340 <indexterm zone="gnutls srptool">
341 <primary sortas="b-srptool">srptool</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="libgnutls">
[73d97caf]347 <term><filename class="libraryfile">libgnutls.so</filename></term>
[d5404360]348 <listitem>
[3ee626e]349 <para>
350 contains the core API functions and X.509 certificate API functions.
351 </para>
[d5404360]352 <indexterm zone="gnutls libgnutls">
[5eaf9af8]353 <primary sortas="c-libgnutls">libgnutls.so</primary>
[d5404360]354 </indexterm>
355 </listitem>
356 </varlistentry>
357
358 </variablelist>
359
360 </sect2>
361
362</sect1>
Note: See TracBrowser for help on using the repository browser.