source: postlfs/security/gnutls.xml@ 295ca00

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

Update to Sudo-1.8.15 (merged from trunk r16594)
Update to stunnel-5.29 (merged from trunk r16797)
Update to ssh-askpass-4.1p2 (merged from trunk r16811)
Update to p11-kit-0.23.2 (merged from trunk r16716)
Update to OpenSSL-1.0.2e (merged from trunk r16708)
Update to OpenSSH-7.1p2 (merged from trunk r16811)
Update to NSS-3.21 (merged from trunk r16627)
Update to MIT Kerberos V5-1.14 (merged from trunk r16679)
Update to iptables-1.6.0 (merged from trunk r16742)
Update to GPGME-1.6.0 (merged from trunk r16360)
Update to GnuTLS-3.4.8 (merged from trunk r16797)

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

  • Property mode set to 100644
File size: 12.0 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.4/gnutls-&gnutls-version;.tar.xz">
9 <!ENTITY gnutls-md5sum "a26e6dd8d5ad92016e3f068795b89624">
10 <!ENTITY gnutls-size "6.4 MB">
11 <!ENTITY gnutls-buildsize "128 MB (144 MB with tests)">
12 <!ENTITY gnutls-time "0.8 SBU (4.3 SBU with 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 &lfs78_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>, and
116 <ulink url="http://sourceforge.net/projects/trousers/files/trousers/">Trousers</ulink> (Trusted Platform Module support)
117 </para>
118
119 <note><para>
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.
123 </para></note>
124
125 <para condition="html" role="usernotes">User Notes:
126 <ulink url="&blfs-wiki;/gnutls"/>
127 </para>
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of GnuTLS</title>
132
133 <para>
134 Install <application>GnuTLS</application> by running the
135 following commands:
136 </para>
137
138<screen><userinput>./configure --prefix=/usr \
139 --with-default-trust-store-file=/etc/ssl/ca-bundle.crt &amp;&amp;
140make</userinput></screen>
141
142 <para>
143 To test the results, issue: <command>make check</command>.
144 If a prior version of <application>GnuTLS</application> has been installed, some
145 tests may fail. If <filename>/usr/lib/libgnutls.so</filename> is removed,
146 all tests sould pass. The installation procedure restores <filename>libgnutls.so</filename>.
147 </para>
148
149 <para>
150 Now, as the <systemitem class="username">root</systemitem>
151 user:
152 </para>
153
154<screen role="root"><userinput>make install</userinput></screen>
155
156 <para>
157 If you did not pass the <option>--enable-gtk-doc</option> parameter to
158 the <command>configure</command> script, you can install the API
159 documentation to the <filename
160 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
161 using the following command as the
162 <systemitem class="username">root</systemitem> user:
163 </para>
164
165<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
166
167 </sect2>
168
169 <sect2 role="commands">
170 <title>Command Explanations</title>
171
172 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
173 href="../../xincludes/gtk-doc-rebuild.xml"/>
174
175 <para>
176 <option>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</option>:
177 This switch tells the configure script where to find the
178 <xref linkend="cacerts"/>.
179 </para>
180
181 <para>
182 <option>--enable-openssl-compatibility</option>: Use this switch if you
183 want to build the OpenSSL compatibility library.
184 </para>
185
186 <para>
187 <option>--without-p11-kit</option>: Use this switch if you have not
188 installed <application>p11-kit</application>.
189 </para>
190
191 </sect2>
192
193 <sect2 role="content">
194 <title>Contents</title>
195
196 <segmentedlist>
197 <segtitle>Installed Programs</segtitle>
198 <segtitle>Installed Libraries</segtitle>
199 <segtitle>Installed Directories</segtitle>
200
201 <seglistitem>
202 <seg>
203 certtool,
204 crywrap,
205 danetool,
206 gnutls-cli,
207 gnutls-cli-debug,
208 gnutls-serv,
209 ocsptool,
210 p11tool,
211 psktool,
212 and srptool
213 </seg>
214 <seg>
215 libgnutls.so,
216 libgnutls-dane.so,
217 libgnutlsxx.so, and
218 guile-gnutls-v-2.so (<application>Guile</application> Module)
219 </seg>
220 <seg>
221 /usr/include/gnutls,
222 /usr/share/gtk-doc/html/gnutls, and
223 /usr/share/guile/site/gnutls
224 </seg>
225 </seglistitem>
226 </segmentedlist>
227
228 <variablelist>
229 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
230 <?dbfo list-presentation="list"?>
231 <?dbhtml list-presentation="table"?>
232
233 <varlistentry id="certtool">
234 <term><command>certtool</command></term>
235 <listitem>
236 <para>
237 is used to generate X.509 certificates, certificate requests,
238 and private keys.
239 </para>
240 <indexterm zone="gnutls certtool">
241 <primary sortas="b-certtool">certtool</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="crywrap">
247 <term><command>crywrap</command></term>
248 <listitem>
249 <para>
250 is a simple wrapper that waits for TLS/SSL connections,
251 and proxies them to an unencrypted location. Only installed if
252 <xref linkend="libidn"/> is present.
253 </para>
254 <indexterm zone="gnutls crywrap">
255 <primary sortas="b-crywrap">crywrap</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
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
273 <varlistentry id="gnutls-cli">
274 <term><command>gnutls-cli</command></term>
275 <listitem>
276 <para>
277 is a simple client program to set up a TLS connection to some
278 other computer.
279 </para>
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>
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>
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>
302 <para>
303 is a simple server program that listens to incoming TLS
304 connections.
305 </para>
306 <indexterm zone="gnutls gnutls-serv">
307 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 <varlistentry id="ocsptool">
313 <term><command>ocsptool</command></term>
314 <listitem>
315 <para>
316 is a program that can parse and print information about OCSP
317 requests/responses, generate requests and verify responses.
318 </para>
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>
328 <para>
329 is a program that allows handling data from PKCS #11 smart cards
330 and security modules.
331 </para>
332 <indexterm zone="gnutls p11tool">
333 <primary sortas="b-p11tool">p11tool</primary>
334 </indexterm>
335 </listitem>
336 </varlistentry>
337
338 <varlistentry id="psktool">
339 <term><command>psktool</command></term>
340 <listitem>
341 <para>
342 is a simple program that generates random keys for use with TLS-PSK.
343 </para>
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>
353 <para>
354 is a simple program that emulates the programs in the Stanford
355 SRP (Secure Remote Password) libraries using GnuTLS.
356 </para>
357 <indexterm zone="gnutls srptool">
358 <primary sortas="b-srptool">srptool</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="libgnutls">
364 <term><filename class="libraryfile">libgnutls.so</filename></term>
365 <listitem>
366 <para>
367 contains the core API functions and X.509 certificate API functions.
368 </para>
369 <indexterm zone="gnutls libgnutls">
370 <primary sortas="c-libgnutls">libgnutls.so</primary>
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.