source: postlfs/security/gnutls.xml@ 4b1b99e8

elogind
Last change on this file since 4b1b99e8 was 4b1b99e8, checked in by DJ Lucas <dj@…>, 5 years ago

Merge to HEAD 21160.

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

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