source: postlfs/security/gnutls.xml@ 64135787

kde5-14269
Last change on this file since 64135787 was 64135787, checked in by Xi Ruoyao <xry111@…>, 3 years ago

Begin manually (while modifying stuff) merging trunk and systemd branches since revision 14087.

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

  • Property mode set to 100644
File size: 11.2 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.3/gnutls-&gnutls-version;.tar.xz">
9 <!ENTITY gnutls-md5sum "a7a73cfa883cd106d70b15300552a5b5">
10 <!ENTITY gnutls-size "5.8 MB">
11 <!ENTITY gnutls-buildsize "122 MB (additional 8 MB for the tests)">
12 <!ENTITY gnutls-time "0.9 SBU (additional 1.8 SBU for the 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.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>
55
56 &lfs76_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"/> and
102 <xref linkend="libtasn1"/>
103 </para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional">
107 <xref linkend="gtk-doc"/>,
108 <xref linkend="guile"/>,
109 <xref linkend="libidn"/>,
110 <xref linkend="p11-kit"/>,
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)
115 </para>
116
117 <note><para>
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.
121 </para></note>
122
123 <para condition="html" role="usernotes">User Notes:
124 <ulink url="&blfs-wiki;/gnutls"/>
125 </para>
126 </sect2>
127
128 <sect2 role="installation">
129 <title>Installation of GnuTLS</title>
130
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
139 <para>
140 Install <application>GnuTLS</application> by running the
141 following commands:
142 </para>
143
144<screen><userinput>./configure --prefix=/usr &amp;&amp;
145make</userinput></screen>
146
147 <para>
148 To test the results, issue: <command>make check</command>.
149 </para>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem>
153 user:
154 </para>
155
156<screen role="root"><userinput>make install</userinput></screen>
157
158 <para>
159 If you did not pass the <option>--enable-gtk-doc</option> parameter
160 to the <command>configure</command> script, you can install the API documentation
161 to the <filename class="directory">/usr/share/gtk-doc/html/gnutls</filename>
162 directory using the following command as the
163 <systemitem class="username">root</systemitem> user:
164 </para>
165
166<screen role="root"><userinput>make -C doc/reference install-data-local</userinput></screen>
167
168 </sect2>
169
170 <sect2 role="commands">
171 <title>Command Explanations</title>
172
173 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
174 href="../../xincludes/gtk-doc-rebuild.xml"/>
175
176 </sect2>
177
178 <sect2 role="content">
179 <title>Contents</title>
180
181 <segmentedlist>
182 <segtitle>Installed Programs</segtitle>
183 <segtitle>Installed Libraries</segtitle>
184 <segtitle>Installed Directories</segtitle>
185
186 <seglistitem>
187 <seg>
188 certtool, crywrap, danetool, gnutls-cli, gnutls-cli-debug,
189 gnutls-serv, ocsptool, p11tool, psktool, and srptool
190 </seg>
191 <seg>
192 libgnutls.so, libgnutls-dane.so,
193 libgnutls-openssl.so, libgnutlsxx.so, and
194 guile-gnutls-v-2.so (<application>Guile</application> Module)
195 </seg>
196 <seg>
197 /usr/include/gnutls,
198 /usr/share/gtk-doc/html/gnutls, and
199 /usr/share/guile/site/gnutls
200 </seg>
201 </seglistitem>
202 </segmentedlist>
203
204 <variablelist>
205 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
206 <?dbfo list-presentation="list"?>
207 <?dbhtml list-presentation="table"?>
208
209 <varlistentry id="certtool">
210 <term><command>certtool</command></term>
211 <listitem>
212 <para>
213 is used to generate X.509 certificates, certificate requests,
214 and private keys.
215 </para>
216 <indexterm zone="gnutls certtool">
217 <primary sortas="b-certtool">certtool</primary>
218 </indexterm>
219 </listitem>
220 </varlistentry>
221
222 <varlistentry id="crywrap">
223 <term><command>crywrap</command></term>
224 <listitem>
225 <para>
226 is a simple wrapper that waits for TLS/SSL connections,
227 and proxies them to an unencrypted location. Only installed if
228 <xref linkend="libidn"/> is present.
229 </para>
230 <indexterm zone="gnutls crywrap">
231 <primary sortas="b-crywrap">crywrap</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="danetool">
237 <term><command>danetool</command></term>
238 <listitem>
239 <para>
240 is a tool used to generate and check DNS resource records
241 for the DANE protocol.
242 </para>
243 <indexterm zone="gnutls danetool">
244 <primary sortas="b-danetool">danetool</primary>
245 </indexterm>
246 </listitem>
247 </varlistentry>
248
249 <varlistentry id="gnutls-cli">
250 <term><command>gnutls-cli</command></term>
251 <listitem>
252 <para>
253 is a simple client program to set up a TLS connection to some
254 other computer.
255 </para>
256 <indexterm zone="gnutls gnutls-cli">
257 <primary sortas="b-gnutls-cli">gnutls-cli</primary>
258 </indexterm>
259 </listitem>
260 </varlistentry>
261
262 <varlistentry id="gnutls-cli-debug">
263 <term><command>gnutls-cli-debug</command></term>
264 <listitem>
265 <para>
266 is a simple client program to set up a TLS connection to some
267 other computer and produces very verbose progress results.
268 </para>
269 <indexterm zone="gnutls gnutls-cli-debug">
270 <primary sortas="b-gnutls-cli-debug">gnutls-cli-debug</primary>
271 </indexterm>
272 </listitem>
273 </varlistentry>
274
275 <varlistentry id="gnutls-serv">
276 <term><command>gnutls-serv</command></term>
277 <listitem>
278 <para>
279 is a simple server program that listens to incoming TLS
280 connections.
281 </para>
282 <indexterm zone="gnutls gnutls-serv">
283 <primary sortas="b-gnutls-serv">gnutls-serv</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="ocsptool">
289 <term><command>ocsptool</command></term>
290 <listitem>
291 <para>
292 is a program that can parse and print information about OCSP
293 requests/responses, generate requests and verify responses.
294 </para>
295 <indexterm zone="gnutls ocsptool">
296 <primary sortas="b-ocsptool">ocsptool</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="p11tool">
302 <term><command>p11tool</command></term>
303 <listitem>
304 <para>
305 is a program that allows handling data from PKCS #11 smart cards
306 and security modules.
307 </para>
308 <indexterm zone="gnutls p11tool">
309 <primary sortas="b-p11tool">p11tool</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 <varlistentry id="psktool">
315 <term><command>psktool</command></term>
316 <listitem>
317 <para>
318 is a simple program that generates random keys for use with TLS-PSK.
319 </para>
320 <indexterm zone="gnutls psktool">
321 <primary sortas="b-psktool">psktool</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="srptool">
327 <term><command>srptool</command></term>
328 <listitem>
329 <para>
330 is a simple program that emulates the programs in the Stanford
331 SRP (Secure Remote Password) libraries using GnuTLS.
332 </para>
333 <indexterm zone="gnutls srptool">
334 <primary sortas="b-srptool">srptool</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="libgnutls">
340 <term><filename class="libraryfile">libgnutls.so</filename></term>
341 <listitem>
342 <para>
343 contains the core API functions and X.509 certificate API functions.
344 </para>
345 <indexterm zone="gnutls libgnutls">
346 <primary sortas="c-libgnutls">libgnutls.so</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 </variablelist>
352
353 </sect2>
354
355</sect1>
Note: See TracBrowser for help on using the repository browser.