source: postlfs/security/openssl.xml@ ae7796d

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 ae7796d was ae7796d, checked in by Randy McMurchy <randy@…>, 14 years ago

Added a sed command and its explanation to the OpenSSH instructions that was inadvertently removed

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

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