source: postlfs/security/openssl.xml@ 6327bf2

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 6327bf2 was 6327bf2, checked in by DJ Lucas <dj@…>, 14 years ago

Updated to BLFS-ca-bundle-3.12.5 (nss update).

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