source: postlfs/security/openssl.xml@ a958f32

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since a958f32 was d284bee, checked in by Guy Dalziel <gdalziel@…>, 15 years ago

Minor syntax and grammatical fixes.

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

  • Property mode set to 100644
File size: 11.6 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 openssl-download-http "http://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
8 <!ENTITY openssl-download-ftp "ftp://ftp.openssl.org/source/openssl-&openssl-version;.tar.gz">
9 <!ENTITY openssl-md5sum "e555c6d58d276aec7fdc53363e338ab3">
10 <!ENTITY openssl-size "3.7 MB">
11 <!ENTITY ca-bundle-download "http://anduin.linuxfromscratch.org/files/BLFS/BLFS-ca-bundle-&ca-bundle-version;.tar.bz2">
12 <!ENTITY ca-bundle-size "192 KB">
13 <!ENTITY ca-bundle-md5sum "a5e85c3df9ef9a192eb5e5cdf94ebb72">
14 <!ENTITY openssl-buildsize "47 MB">
15 <!ENTITY openssl-time "1.1 SBU (additional 0.3 SBU to run the test suite)">
16]>
17
18<sect1 id="openssl" xreflabel="OpenSSL-&openssl-version;">
19 <?dbhtml filename="openssl.html"?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>OpenSSL-&openssl-version;</title>
27
28 <indexterm zone="openssl">
29 <primary sortas="a-OpenSSL">OpenSSL</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to OpenSSL</title>
34
35 <para>The <application>OpenSSL</application> package contains management
36 tools and libraries relating to cryptography. These are useful for
37 providing cryptography functions to other packages, notably
38 <application>OpenSSH</application>, email applications and web browsers
39 (for accessing HTTPS sites).</para>
40
41 &lfs65_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>Download (HTTP): <ulink url="&openssl-download-http;"/></para>
47 </listitem>
48 <listitem>
49 <para>Download (FTP): <ulink url="&openssl-download-ftp;"/></para>
50 </listitem>
51 <listitem>
52 <para>Download MD5 sum: &openssl-md5sum;</para>
53 </listitem>
54 <listitem>
55 <para>Download size: &openssl-size;</para>
56 </listitem>
57 <listitem>
58 <para>CA Bundle Download: <ulink url="&ca-bundle-download;"/></para>
59 </listitem>
60 <listitem>
61 <para>CA Bundle size: &ca-bundle-size;</para>
62 </listitem>
63 <listitem>
64 <para>CA Bundle MD5 sum: &ca-bundle-md5sum;</para>
65 </listitem>
66 <listitem>
67 <para>Estimated disk space required: &openssl-buildsize;</para>
68 </listitem>
69 <listitem>
70 <para>Estimated build time: &openssl-time;</para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing='compact'>
76 <listitem>
77 <para>Required patch: <ulink
78 url="&patch-root;/openssl-&openssl-version;-fix_manpages-1.patch"/></para>
79 </listitem>
80 </itemizedlist>
81
82 <bridgehead renderas="sect3">OpenSSL Dependencies</bridgehead>
83
84 <bridgehead renderas="sect4">Recommended</bridgehead>
85 <para role="recommended"><xref linkend="bc"/>(if you run the test suite
86 during the build)</para>
87
88 <bridgehead renderas="sect4">Optional</bridgehead>
89 <para role="optional"><xref linkend="mitkrb"/> or
90 <xref linkend="heimdal"/></para>
91
92 <para condition="html" role="usernotes">User Notes:
93 <ulink url='&blfs-wiki;/OpenSSL'/></para>
94
95 </sect2>
96
97 <sect2 role="installation">
98 <title>Installation of OpenSSL</title>
99
100 <para>Install <application>OpenSSL</application> by running
101 the following commands:</para>
102
103<screen><userinput>patch -Np1 -i ../openssl-&openssl-version;-fix_manpages-1.patch &amp;&amp;
104tar -vxf ../BLFS-ca-bundle-&ca-bundle-version;.tar.bz2 &amp;&amp;
105./config --prefix=/usr \
106 --openssldir=/etc/ssl \
107 shared \
108 zlib-dynamic &amp;&amp;
109make</userinput></screen>
110
111 <para>To test the results, issue: <command>make test</command>.</para>
112
113 <!-- <para>To test the results, issue: <command>make test</command>. Note that the
114 test results/output depend on the availability of /etc/ssl/openssl.cnf. If
115 running the tests for the first time run the following as the
116 <systemitem class="username">root</systemitem> user before running the
117 tests:</para>
118
119<screen role="root"><userinput>install -v -m755 d /etc/ssl &amp;&amp;
120install -v ./apps/openssl.cnf /etc/ssl/</userinput></screen> -->
121
122 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
123
124<screen role="root"><userinput>make MANDIR=/usr/share/man install &amp;&amp;
125
126cp -v -r certs /etc/ssl &amp;&amp;
127
128install -v -d -m755 /usr/share/doc/openssl-&openssl-version; &amp;&amp;
129cp -v -r doc/{HOWTO,README,*.{txt,html,gif}} \
130 /usr/share/doc/openssl-&openssl-version;</userinput></screen>
131
132 <para>While still the <systemitem class="username">root</systemitem> user,
133 create a single file that contains all of the installed certificates:</para>
134
135<screen role="root"><userinput>for pem in /etc/ssl/certs/*.pem
136do
137 cat $pem
138 echo ""
139done &gt; /etc/ssl/ca-bundle.crt</userinput></screen>
140
141 </sect2>
142
143 <sect2 role="commands">
144 <title>Command Explanations</title>
145
146 <para>
147 <command>tar -vxf ../BLFS-ca-bundle-&ca-bundle-version;.tar.bz2</command>:
148 <application>OpenSSL</application> no longer includes any root certificates.
149 This package adds root certificates as provided by mozilla.org.</para>
150
151 <para><parameter>shared</parameter>: This parameter forces the creation of
152 shared libraries along with the static libraries.</para>
153
154 <para><parameter>zlib-dynamic</parameter>: This parameter adds
155 compression/decompression functionality using the
156 <filename class="libraryfile">libz</filename> library.</para>
157
158 <para><option>no-rc5 no-idea</option>: When added to the
159 <command>./config</command> command, this will eliminate the building
160 of those encryption methods. Patent licenses may be needed for you to
161 utilize either of those methods in your projects.</para>
162
163 <para><command>make MANDIR=/usr/share/man install</command>: This command
164 installs <application>OpenSSL</application> with the man pages in
165 <filename class='directory'>/usr/share/man</filename> instead of
166 <filename class='directory'>/etc/ssl/man</filename>.</para>
167
168 <!-- <para><option>enable-tlsext</option>: When added to the
169 <command>./config</command> command, this switch will enable TLS
170 Extensions. Currently this is only RFC 3546 and 4507bis for Server Name
171 Indication. This allows the use of multiple SSL certificates with multiple
172 virtual hosts in Apache, while using only one IP address and one port for
173 all virtual hosts.</para> -->
174
175 <!-- <para><option>zlib-dynamic</option>: When added to the
176 <command>./config</command> command, this switch will enable
177 use of <filename>libz.so</filename> for compression/decompression.</para> -->
178
179 <para><command>cp -v -r certs /etc/ssl</command>: This installs both the
180 sample certificates and documentation included with
181 <application>OpenSSL</application>, and the certificates that were extracted
182 from the BLFS-ca-bundle-&ca-bundle-version; package.</para>
183
184 <para><command>for pem in /etc/ssl/certs/*.pem...</command>: This group of
185 commands creates a single-file certificate bundle
186 (<filename>/etc/ssl/ca-bundle.crt</filename>) that is usable by many
187 other software packages. <filename>ca-bundle.crt</filename> should be
188 recreated anytime that a certificate is added to
189 <filename class="directory">/etc/ssl/certs</filename>.</para>
190
191 </sect2>
192
193 <sect2 role="configuration">
194 <title>Configuring OpenSSL</title>
195
196 <sect3 id="openssl-config">
197 <title>Config Files</title>
198
199 <para><filename>/etc/ssl/openssl.cnf</filename></para>
200
201 <indexterm zone="openssl openssl-config">
202 <primary sortas="e-etc-ssl-openssl.cnf">/etc/ssl/openssl.cnf</primary>
203 </indexterm>
204
205 </sect3>
206
207 <sect3>
208 <title>Configuration Information</title>
209
210 <para>Most people who just want to use <application>OpenSSL</application>
211 for providing functions to other programs such as
212 <application>OpenSSH</application> and web browsers won't need to worry
213 about configuring <application>OpenSSL</application>. Configuring
214 <application>OpenSSL</application> is an advanced topic and so those
215 who do would normally be expected to either know how to do it or to be
216 able to find out how to do it.</para>
217
218 </sect3>
219
220 </sect2>
221
222 <sect2 role="content">
223 <title>Contents</title>
224
225 <segmentedlist>
226 <segtitle>Installed Programs</segtitle>
227 <segtitle>Installed Libraries</segtitle>
228 <segtitle>Installed Directories</segtitle>
229
230 <seglistitem>
231 <seg>c_rehash and openssl</seg>
232 <seg>libcrypto.{so,a}, libssl.{so,a}, and additional encryption
233 libraries in /usr/lib/engines/ (lib4758cca.so, libaep.so,
234 libatalla.so, libcapi.so, libchil.so, libcswift.so, libgmp.so, libnuron.so,
235 libsureware.so, and libubsec.so)</seg>
236 <seg>/etc/ssl, /usr/include/ssl, /usr/lib/engines
237 and /usr/share/doc/openssl-&openssl-version;</seg>
238 </seglistitem>
239 </segmentedlist>
240
241 <variablelist>
242 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
243 <?dbfo list-presentation="list"?>
244 <?dbhtml list-presentation="table"?>
245
246 <varlistentry id="c_rehash">
247 <term><command>c_rehash</command></term>
248 <listitem>
249 <para>is a <application>Perl</application> script that scans
250 all files in a directory and adds symbolic links to their hash
251 values.</para>
252 <indexterm zone="openssl c_rehash">
253 <primary sortas="b-c_rehash">c_rehash</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="openssl-prog">
259 <term><command>openssl</command></term>
260 <listitem>
261 <para>is a command-line tool for using the various cryptography
262 functions of <application>OpenSSL</application>'s crypto
263 library from the shell. It can be used for various functions which are
264 documented in <command>man 1 openssl</command>.</para>
265 <indexterm zone="openssl openssl-prog">
266 <primary sortas="b-openssl">openssl</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="libcrypto">
272 <term><filename class='libraryfile'>libcrypto.{so,a}</filename></term>
273 <listitem>
274 <para>implements a wide range of cryptographic algorithms used in
275 various Internet standards. The services provided by this library
276 are used by the <application>OpenSSL</application> implementations of
277 SSL, TLS and S/MIME, and they have also been used to implement
278 <application>OpenSSH</application>, <application>OpenPGP</application>,
279 and other cryptographic standards.</para>
280 <indexterm zone="openssl libcrypto">
281 <primary sortas="c-libcrypto">libcrypto.{so,a}</primary>
282 </indexterm>
283 </listitem>
284 </varlistentry>
285
286 <varlistentry id="libssl">
287 <term><filename class='libraryfile'>libssl.{so,a}</filename></term>
288 <listitem>
289 <para>implements the Secure Sockets Layer (SSL v2/v3) and Transport
290 Layer Security (TLS v1) protocols. It provides a rich API, documentation
291 on which can be found by running <command>man 3 ssl</command>.</para>
292 <indexterm zone="openssl libssl">
293 <primary sortas="c-libssl">libssl.{so,a}</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 </variablelist>
299
300 </sect2>
301
302</sect1>
Note: See TracBrowser for help on using the repository browser.