source: postlfs/security/gnutls.xml@ 3b3a3be

systemd-13485
Last change on this file since 3b3a3be was 3b3a3be, checked in by Douglas R. Reno <renodr@…>, 8 years ago

(both) Add a sed for the GnuTLS Compatibility Library
(both) GCC6 tags
(systemd) LFS79 tags

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

  • Property mode set to 100644
File size: 12.4 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.5/gnutls-&gnutls-version;.tar.xz">
9 <!ENTITY gnutls-md5sum "173154d0b41f6c58881e3fbd88f7e6e4">
10 <!ENTITY gnutls-size "6.4 MB">
11 <!ENTITY gnutls-buildsize "118 MB (add 22 MB for tests)">
12 <!ENTITY gnutls-time "0.8 SBU (add 6.7 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 &lfs79_checked;&gcc6_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"/>,
102 <xref linkend="libtasn1"/> and
103 <xref linkend="p11-kit"/>
104 </para>
105
106 <bridgehead renderas="sect4">Optional</bridgehead>
107 <para role="optional">
108 <xref linkend="doxygen"/>,
109 <xref linkend="gtk-doc"/>,
110 <xref linkend="guile"/>,
111 <xref linkend="libidn"/>,
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>,
116 <ulink url="http://ftp.debian.org/debian/pool/main/d/datefudge/">datefudge</ulink> (used during the test suite), and
117 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
118 </para>
119
120 <note><para>
121 Note that if you do not install <xref linkend="libtasn1"/>, an older
122 version shipped in the <application>GnuTLS</application> tarball will be
123 used instead.
124 </para></note>
125
126 <para condition="html" role="usernotes">User Notes:
127 <ulink url="&blfs-wiki;/gnutls"/>
128 </para>
129 </sect2>
130
131 <sect2 role="installation">
132 <title>Installation of GnuTLS</title>
133
134 <para>
135 Install <application>GnuTLS</application> by running the
136 following commands:
137 </para>
138
139<screen><userinput>sed -e 's/gnutls_global/global/' \
140 -e 's/gnutls_errors/errors/' \
141 -i extra/openssl_compat.c &amp;&amp;
142
143./configure --prefix=/usr \
144 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
145make</userinput></screen>
146
147 <para>
148 To test the results, issue: <command>make check</command>. If a prior
149 version of <application>GnuTLS</application> (or the same version but
150 without all of the recommended dependencies) has been installed, some
151 tests may fail. If <filename>/usr/lib/libgnutls.so</filename> and the
152 target of that symlink is moved or renamed so that they cannot be found,
153 all tests should pass and the install procedure will restore
154 <filename>libgnutls.so</filename> and the versioned library it points to.
155 </para>
156
157 <para>
158 Now, as the <systemitem class="username">root</systemitem>
159 user:
160 </para>
161
162<screen role="root"><userinput>make install</userinput></screen>
163
164 <para>
165 If you did not pass the <option>--enable-gtk-doc</option> parameter to
166 the <command>configure</command> script, you can install the API
167 documentation to the <filename
168 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
169 using the following command as the
170 <systemitem class="username">root</systemitem> user:
171 </para>
172
173<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
174
175 </sect2>
176
177 <sect2 role="commands">
178 <title>Command Explanations</title>
179
180 <para>
181 <command>sed -e ... extra/openssl_compat.c</command>: This
182 <command>sed</command> fixes the OpenSSL Compatiblity library.
183 </para>
184
185 <para>
186 <parameter>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</parameter>:
187 This switch tells <command>configure</command> where to find the
188 CA Certificates.
189 </para>
190
191 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
192 href="../../xincludes/gtk-doc-rebuild.xml"/>
193
194 <para>
195 <option>--enable-openssl-compatibility</option>:
196 Use this switch if you wish to build the OpenSSL compatibility library.
197 </para>
198
199 <para>
200 <option>--without-p11-kit</option>: use this switch if you have not
201 installed <application>p11-kit</application>.
202 </para>
203
204 </sect2>
205
206 <sect2 role="content">
207 <title>Contents</title>
208
209 <segmentedlist>
210 <segtitle>Installed Programs</segtitle>
211 <segtitle>Installed Libraries</segtitle>
212 <segtitle>Installed Directories</segtitle>
213
214 <seglistitem>
215 <seg>
216 certtool, crywrap, danetool, gnutls-cli, gnutls-cli-debug,
217 gnutls-serv, ocsptool, p11tool, psktool, and srptool
218 </seg>
219 <seg>
220 libgnutls.so, libgnutls-dane.so, libgnutlsxx.so, and
221 /usr/lib/guile/2.0/guile-gnutls-v-2.so
222 </seg>
223 <seg>
224 /usr/{include,share/gtk-doc/html,share/guile/site}/gnutls
225 </seg>
226 </seglistitem>
227 </segmentedlist>
228
229 <variablelist>
230 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
231 <?dbfo list-presentation="list"?>
232 <?dbhtml list-presentation="table"?>
233
234 <varlistentry id="certtool">
235 <term><command>certtool</command></term>
236 <listitem>
237 <para>
238 is used to generate X.509 certificates, certificate requests,
239 and private keys.
240 </para>
241 <indexterm zone="gnutls certtool">
242 <primary sortas="b-certtool">certtool</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="crywrap">
248 <term><command>crywrap</command></term>
249 <listitem>
250 <para>
251 is a simple wrapper that waits for TLS/SSL connections,
252 and proxies them to an unencrypted location. Only installed if
253 <xref linkend="libidn"/> is present.
254 </para>
255 <indexterm zone="gnutls crywrap">
256 <primary sortas="b-crywrap">crywrap</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 <varlistentry id="danetool">
262 <term><command>danetool</command></term>
263 <listitem>
264 <para>
265 is a tool used to generate and check DNS resource records
266 for the DANE protocol.
267 </para>
268 <indexterm zone="gnutls danetool">
269 <primary sortas="b-danetool">danetool</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="gnutls-cli">
275 <term><command>gnutls-cli</command></term>
276 <listitem>
277 <para>
278 is a simple client program to set up a TLS connection to some
279 other computer.
280 </para>
281 <indexterm zone="gnutls gnutls-cli">
282 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="gnutls-cli-debug">
288 <term><command>gnutls-cli-debug</command></term>
289 <listitem>
290 <para>
291 is a simple client program to set up a TLS connection to some
292 other computer and produces very verbose progress results.
293 </para>
294 <indexterm zone="gnutls gnutls-cli-debug">
295 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="gnutls-serv">
301 <term><command>gnutls-serv</command></term>
302 <listitem>
303 <para>
304 is a simple server program that listens to incoming TLS
305 connections.
306 </para>
307 <indexterm zone="gnutls gnutls-serv">
308 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="ocsptool">
314 <term><command>ocsptool</command></term>
315 <listitem>
316 <para>
317 is a program that can parse and print information about OCSP
318 requests/responses, generate requests and verify responses.
319 </para>
320 <indexterm zone="gnutls ocsptool">
321 <primary sortas="b-ocsptool">ocsptool</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="p11tool">
327 <term><command>p11tool</command></term>
328 <listitem>
329 <para>
330 is a program that allows handling data from PKCS #11 smart cards
331 and security modules.
332 </para>
333 <indexterm zone="gnutls p11tool">
334 <primary sortas="b-p11tool">p11tool</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="psktool">
340 <term><command>psktool</command></term>
341 <listitem>
342 <para>
343 is a simple program that generates random keys for use with TLS-PSK.
344 </para>
345 <indexterm zone="gnutls psktool">
346 <primary sortas="b-psktool">psktool</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="srptool">
352 <term><command>srptool</command></term>
353 <listitem>
354 <para>
355 is a simple program that emulates the programs in the Stanford
356 SRP (Secure Remote Password) libraries using GnuTLS.
357 </para>
358 <indexterm zone="gnutls srptool">
359 <primary sortas="b-srptool">srptool</primary>
360 </indexterm>
361 </listitem>
362 </varlistentry>
363
364 <varlistentry id="libgnutls">
365 <term><filename class="libraryfile">libgnutls.so</filename></term>
366 <listitem>
367 <para>
368 contains the core API functions and X.509 certificate API functions.
369 </para>
370 <indexterm zone="gnutls libgnutls">
371 <primary sortas="c-libgnutls">libgnutls.so</primary>
372 </indexterm>
373 </listitem>
374 </varlistentry>
375
376 </variablelist>
377
378 </sect2>
379
380</sect1>
Note: See TracBrowser for help on using the repository browser.