source: postlfs/security/gnutls.xml@ 8dfc5c3

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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 8dfc5c3 was 8dfc5c3, checked in by Krejzi <krejzi@…>, 7 years ago

Fix some URLs

  • Switch to https:// scheme where possible to avoid redirects
  • Unify all kernel.org, Sourceforge and GNU URLs
  • Fix python and perl module URLs to be consistent
  • Fix github provided URLs to properly download tarballs instead of vFOO.tar.gz
  • Use upstream locations for some packages or better/shorter URLs if available
  • Add https:// URLs for gnupg packages

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

  • Property mode set to 100644
File size: 13.1 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 "&gnupg-http;/gnutls/v3.5/gnutls-&gnutls-version;.tar.xz">
8 <!ENTITY gnutls-download-ftp "&gnupg-ftp;/gnutls/v3.5/gnutls-&gnutls-version;.tar.xz">
9 <!ENTITY gnutls-md5sum "1e84b57a472b5f3b01f2c1b7a3a2bcbe">
10 <!ENTITY gnutls-size "6.9 MB">
11 <!ENTITY gnutls-buildsize "147 MB (add 42 MB for tests)">
12 <!ENTITY gnutls-time "1.3 SBU (add 5.0 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 &lfs80_checked;
57 &gcc7_checked;
58
59 <bridgehead renderas="sect3">Package Information</bridgehead>
60 <itemizedlist spacing="compact">
61 <listitem>
62 <para>
63 Download (HTTP): <ulink url="&gnutls-download-http;"/>
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Download (FTP): <ulink url="&gnutls-download-ftp;"/>
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Download MD5 sum: &gnutls-md5sum;
74 </para>
75 </listitem>
76 <listitem>
77 <para>
78 Download size: &gnutls-size;
79 </para>
80 </listitem>
81 <listitem>
82 <para>
83 Estimated disk space required: &gnutls-buildsize;
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Estimated build time: &gnutls-time;
89 </para>
90 </listitem>
91 </itemizedlist>
92
93 <bridgehead renderas="sect3">GnuTLS Dependencies</bridgehead>
94
95 <bridgehead renderas="sect4">Required</bridgehead>
96 <para role="required">
97 <xref linkend="nettle"/>
98 </para>
99
100 <bridgehead renderas="sect4">Recommended</bridgehead>
101 <para role="recommended">
102 <xref linkend="cacerts"/>,
103 <xref linkend="libunistring"/>,
104 <xref linkend="libtasn1"/>, and
105 <xref linkend="p11-kit"/>
106 </para>
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="doxygen"/>,
111 <xref linkend="gtk-doc"/>,
112 <xref linkend="guile"/>,
113 <xref linkend="libidn"/> or
114 <ulink url="https://www.gnu.org/software/libidn/libidn2/manual/libidn2.html">libidn2</ulink>,
115 <xref linkend="net-tools"/> (used during the test suite),
116 <xref linkend="texlive"/> or <xref linkend="tl-installer"/>,
117 <xref linkend="unbound"/> (to build the DANE library),
118 <xref linkend="valgrind"/> (used during the test suite),
119 <ulink url="&gnu-http;/autogen/">autogen</ulink>,
120 <ulink url="https://cmocka.org/">cmocka</ulink> and
121 <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
122 <ulink url="&sourceforge-dl;/trousers/">Trousers</ulink> (Trusted Platform Module support)
123 </para>
124
125 <note><para>
126 Note that if you do not install <xref linkend="libtasn1"/>, an older
127 version shipped in the <application>GnuTLS</application> tarball will be
128 used instead.
129 </para></note>
130
131 <para condition="html" role="usernotes">User Notes:
132 <ulink url="&blfs-wiki;/gnutls"/>
133 </para>
134 </sect2>
135
136 <sect2 role="installation">
137 <title>Installation of GnuTLS</title>
138
139 <para>
140 Install <application>GnuTLS</application> by running the
141 following commands:
142 </para>
143
144<screen><userinput>./configure --prefix=/usr \
145 --with-default-trust-store-pkcs11="pkcs11:" &amp;&amp;
146make</userinput></screen>
147
148 <para>
149 To test the results, issue: <command>make check</command>. If a prior
150 version of <application>GnuTLS</application> (or the same version but
151 without all of the recommended dependencies) has been installed, some
152 tests may fail. If <filename>/usr/lib/libgnutls.so</filename> and the
153 target of that symlink are moved or renamed so that they cannot be found,
154 all tests should pass and the install procedure will restore
155 <filename>libgnutls.so</filename> and the versioned library it points to.
156 </para>
157
158 <para>
159 Now, as the <systemitem class="username">root</systemitem>
160 user:
161 </para>
162
163<screen role="root"><userinput>make install</userinput></screen>
164
165 <para>
166 If you passed <option>--enable-gtk-doc</option> to the
167 <command>configure</command> script, the API will automatically be
168 installed. Otherwise, if desired, you can still install the API
169 documentation to the <filename
170 class="directory">/usr/share/gtk-doc/html/gnutls</filename> directory
171 using the following command as the <systemitem
172 class="username">root</systemitem> user:
173 </para>
174
175<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
176
177 </sect2>
178
179 <sect2 role="commands">
180 <title>Command Explanations</title>
181
182 <para>
183 <parameter>--with-default-trust-store-pkcs11="pkcs11:"</parameter>: This
184 switch tells gnutls to use the PKCS #11 trust store as the default trust.
185 Omit this switch if <xref linkend="p11-kit"/> is not installed.
186 </para>
187
188 <para>
189 <option>--with-default-trust-store-file=/etc/ssl/ca-bundle.crt</option>:
190 This switch tells <command>configure</command> where to find the
191 legacy CA certificate bundle and to use it instead of PKCS #11 module
192 by default. Use this if <xref linkend="p11-kit"/> is not installed.
193 </para>
194
195 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
196 href="../../xincludes/gtk-doc-rebuild.xml"/>
197
198 <para>
199 <option>--enable-openssl-compatibility</option>:
200 Use this switch if you wish to build the OpenSSL compatibility library.
201 </para>
202
203 <para>
204 <option>--without-p11-kit</option>: use this switch if you have not
205 installed <application>p11-kit</application>.
206 </para>
207
208 <para>
209 <option>--with-included-unistring</option>: uses the bundled version of
210 libunistring, instead of the system one. Use this switch if you have not
211 installed <xref linkend="libunistring"/>.
212 </para>
213
214 </sect2>
215
216 <sect2 role="content">
217 <title>Contents</title>
218
219 <segmentedlist>
220 <segtitle>Installed Programs</segtitle>
221 <segtitle>Installed Libraries</segtitle>
222 <segtitle>Installed Directories</segtitle>
223
224 <seglistitem>
225 <seg>
226 certtool, danetool, gnutls-cli, gnutls-cli-debug,
227 gnutls-serv, ocsptool, p11tool, psktool, and srptool
228 </seg>
229 <seg>
230 libgnutls.so, libgnutls-dane.so, libgnutlsxx.so,
231 libgnutls-openssl.so, and
232 /usr/lib/guile/2.0/guile-gnutls-v-2.so
233 </seg>
234 <seg>
235 /usr/{include,share/gtk-doc/html,share/guile/site/2.0}/gnutls
236 </seg>
237 </seglistitem>
238 </segmentedlist>
239
240 <variablelist>
241 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
242 <?dbfo list-presentation="list"?>
243 <?dbhtml list-presentation="table"?>
244
245 <varlistentry id="certtool">
246 <term><command>certtool</command></term>
247 <listitem>
248 <para>
249 is used to generate X.509 certificates, certificate requests,
250 and private keys.
251 </para>
252 <indexterm zone="gnutls certtool">
253 <primary sortas="b-certtool">certtool</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257<!--
258 Removed after 3.5.0 according to the NEWS file.
259 <varlistentry id="crywrap">
260 <term><command>crywrap</command></term>
261 <listitem>
262 <para>
263 is a simple wrapper that waits for TLS/SSL connections,
264 and proxies them to an unencrypted location. Only installed if
265 <xref linkend="libidn"/> is present.
266 </para>
267 <indexterm zone="gnutls crywrap">
268 <primary sortas="b-crywrap">crywrap</primary>
269 </indexterm>
270 </listitem>
271 </varlistentry>
272-->
273
274 <varlistentry id="danetool">
275 <term><command>danetool</command></term>
276 <listitem>
277 <para>
278 is a tool used to generate and check DNS resource records
279 for the DANE protocol.
280 </para>
281 <indexterm zone="gnutls danetool">
282 <primary sortas="b-danetool">danetool</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="gnutls-cli">
288 <term><command>gnutls-cli</command></term>
289 <listitem>
290 <para>
291 is a simple client program to set up a TLS connection to some
292 other computer.
293 </para>
294 <indexterm zone="gnutls gnutls-cli">
295 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="gnutls-cli-debug">
301 <term><command>gnutls-cli-debug</command></term>
302 <listitem>
303 <para>
304 is a simple client program to set up a TLS connection to some
305 other computer and produces very verbose progress results.
306 </para>
307 <indexterm zone="gnutls gnutls-cli-debug">
308 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="gnutls-serv">
314 <term><command>gnutls-serv</command></term>
315 <listitem>
316 <para>
317 is a simple server program that listens to incoming TLS
318 connections.
319 </para>
320 <indexterm zone="gnutls gnutls-serv">
321 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="ocsptool">
327 <term><command>ocsptool</command></term>
328 <listitem>
329 <para>
330 is a program that can parse and print information about OCSP
331 requests/responses, generate requests and verify responses.
332 </para>
333 <indexterm zone="gnutls ocsptool">
334 <primary sortas="b-ocsptool">ocsptool</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="p11tool">
340 <term><command>p11tool</command></term>
341 <listitem>
342 <para>
343 is a program that allows handling data from PKCS #11 smart cards
344 and security modules.
345 </para>
346 <indexterm zone="gnutls p11tool">
347 <primary sortas="b-p11tool">p11tool</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="psktool">
353 <term><command>psktool</command></term>
354 <listitem>
355 <para>
356 is a simple program that generates random keys for use with TLS-PSK.
357 </para>
358 <indexterm zone="gnutls psktool">
359 <primary sortas="b-psktool">psktool</primary>
360 </indexterm>
361 </listitem>
362 </varlistentry>
363
364 <varlistentry id="srptool">
365 <term><command>srptool</command></term>
366 <listitem>
367 <para>
368 is a simple program that emulates the programs in the Stanford
369 SRP (Secure Remote Password) libraries using GnuTLS.
370 </para>
371 <indexterm zone="gnutls srptool">
372 <primary sortas="b-srptool">srptool</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="libgnutls">
378 <term><filename class="libraryfile">libgnutls.so</filename></term>
379 <listitem>
380 <para>
381 contains the core API functions and X.509 certificate API functions.
382 </para>
383 <indexterm zone="gnutls libgnutls">
384 <primary sortas="c-libgnutls">libgnutls.so</primary>
385 </indexterm>
386 </listitem>
387 </varlistentry>
388
389 </variablelist>
390
391 </sect2>
392
393</sect1>
Note: See TracBrowser for help on using the repository browser.