source: postlfs/security/openssl.xml@ d6b6ecb

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 d6b6ecb was d6b6ecb, checked in by Krejzi <krejzi@…>, 11 years ago

Add a patch to OpenSSL page to fix parallel builds.

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

  • Property mode set to 100644
File size: 9.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
8 "http://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
9 <!ENTITY openssl-download-ftp
10 "ftp://ftp.openssl.org/source/openssl-&openssl-version;.tar.gz">
11 <!ENTITY openssl-md5sum "66bf6f10f060d561929de96f9dfe5b8c">
12 <!ENTITY openssl-size "4.3 MB">
13 <!ENTITY openssl-buildsize "55 MB">
14 <!ENTITY openssl-time "1.5 SBU">
15]>
16
17<sect1 id="openssl" xreflabel="OpenSSL-&openssl-version;">
18 <?dbhtml filename="openssl.html"?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>OpenSSL-&openssl-version;</title>
26
27 <indexterm zone="openssl">
28 <primary sortas="a-OpenSSL">OpenSSL</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to OpenSSL</title>
33
34 <para>
35 The <application>OpenSSL</application> package contains management tools
36 and libraries relating to cryptography. These are useful for providing
37 cryptography functions to other packages, such as
38 <application>OpenSSH</application>, email applications and web browsers
39 (for accessing HTTPS sites).
40 </para>
41
42 &lfs73_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&openssl-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&openssl-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &openssl-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &openssl-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &openssl-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &openssl-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <listitem>
81 <para>
82 Required patch:
83 <ulink url="&patch-root;/openssl-&openssl-version;-fix_parallel_build-1.patch"/>
84 </para>
85 </listitem>
86 </itemizedlist>
87
88 <bridgehead renderas="sect3">OpenSSL Dependencies</bridgehead>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="bc"/> (required for full coverage by the test suite during
93 the build) and
94 <xref linkend="mitkrb"/>
95 </para>
96
97 <para condition="html" role="usernotes">
98 User Notes: <ulink url='&blfs-wiki;/OpenSSL'/>
99 </para>
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of OpenSSL</title>
104
105 <para>
106 Install <application>OpenSSL</application> with the following commands:
107 </para>
108
109<screen><userinput>patch -Np1 -i ../openssl-&openssl-version;-fix_parallel_build-1.patch &amp;&amp;
110
111./config --prefix=/usr \
112 --openssldir=/etc/ssl \
113 shared \
114 zlib-dynamic &amp;&amp;
115make</userinput></screen>
116
117 <para>
118 To test the results, issue: <command>make test</command>.
119 </para>
120
121 <para>
122 If you want to disable installing the static libraries, use this sed:
123 </para>
124
125<screen><userinput>sed -i 's# libcrypto.a##;s# libssl.a##' Makefile</userinput></screen>
126
127 <para>
128 Now, as the <systemitem class="username">root</systemitem> user:
129 </para>
130
131<screen role="root"><userinput>
132make MANDIR=/usr/share/man MANSUFFIX=ssl install &amp;&amp;
133install -dv -m755 /usr/share/doc/openssl-&openssl-version; &amp;&amp;
134cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
135
136 </sect2>
137
138 <sect2 role="commands">
139 <title>Command Explanations</title>
140
141 <para>
142 <parameter>shared</parameter>: This parameter forces the creation of
143 shared libraries along with the static libraries.
144 </para>
145
146 <para>
147 <parameter>zlib-dynamic</parameter>: This parameter adds
148 compression/decompression functionality using the
149 <filename class="libraryfile">libz</filename> library.
150 </para>
151
152 <para>
153 <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.
157 </para>
158
159 <para>
160 <command>make MANDIR=/usr/share/man MANSUFFIX=ssl install</command>:
161 This command installs <application>OpenSSL</application> with the man
162 pages in <filename class="directory">/usr/share/man</filename>
163 instead of <filename class="directory">/etc/ssl/man</filename> and
164 appends "ssl" suffix to the manual page names to avoid conflicts with
165 manual pages installed by other packages.
166 </para>
167
168 </sect2>
169
170 <sect2 role="configuration">
171 <title>Configuring OpenSSL</title>
172
173 <sect3 id="openssl-config">
174 <title>Config Files</title>
175
176 <para>
177 <filename>/etc/ssl/openssl.cnf</filename>
178 </para>
179
180 <indexterm zone="openssl openssl-config">
181 <primary sortas="e-etc-ssl-openssl.cnf">/etc/ssl/openssl.cnf</primary>
182 </indexterm>
183
184 </sect3>
185
186 <sect3>
187 <title>Configuration Information</title>
188
189 <para>
190 Most users will want to install Certificate Authority Certificates
191 for validation of downloaded certificates. For example, these
192 certificates can be used by <xref linkend='git'/>,
193 <xref linkend='curl'/> or <xref linkend='wget'/> when accessing secure
194 (https protocol) sites. To do this, follow the instructions from the
195 <xref linkend='cacerts'/> page.
196 </para>
197
198 <para>
199 Users who just want to use <application>OpenSSL</application> for
200 providing functions to other programs such as
201 <application>OpenSSH</application> and web browsers do not need to worry
202 about additional configuration. This is an advanced topic and so those
203 who do need it would normally be expected to either know how to properly
204 update <filename>/etc/ssl/openssl.cnf</filename> or be able to find out
205 how to do it.
206 </para>
207
208 </sect3>
209
210 </sect2>
211
212 <sect2 role="content">
213 <title>Contents</title>
214
215 <segmentedlist>
216 <segtitle>Installed Programs</segtitle>
217 <segtitle>Installed Libraries</segtitle>
218 <segtitle>Installed Directories</segtitle>
219
220 <seglistitem>
221 <seg>
222 c_rehash and openssl
223 </seg>
224 <seg>
225 libcrypto.{so,a} and libssl.{so,a}
226 </seg>
227 <seg>
228 /etc/ssl,
229 /usr/include/openssl,
230 /usr/lib/engines and
231 /usr/share/doc/openssl-&openssl-version;
232 </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>
245 is a <application>Perl</application> script that scans all files in
246 a directory and adds symbolic links to their hash values.
247 </para>
248 <indexterm zone="openssl c_rehash">
249 <primary sortas="b-c_rehash">c_rehash</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry id="openssl-prog">
255 <term><command>openssl</command></term>
256 <listitem>
257 <para>
258 is a command-line tool for using the various cryptography functions
259 of <application>OpenSSL</application>'s crypto library from the
260 shell. It can be used for various functions which are documented in
261 <command>man 1 openssl</command>.
262 </para>
263 <indexterm zone="openssl openssl-prog">
264 <primary sortas="b-openssl">openssl</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="libcrypto">
270 <term><filename class="libraryfile">libcrypto.{so,a}</filename></term>
271 <listitem>
272 <para>
273 implements a wide range of cryptographic algorithms used in various
274 Internet standards. The services provided by this library are used
275 by the <application>OpenSSL</application> implementations of SSL,
276 TLS and S/MIME, and they have also been used to implement
277 <application>OpenSSH</application>,
278 <application>OpenPGP</application>, and other cryptographic
279 standards.
280 </para>
281 <indexterm zone="openssl libcrypto">
282 <primary sortas="c-libcrypto">libcrypto.{so,a}</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="libssl">
288 <term><filename class="libraryfile">libssl.{so,a}</filename></term>
289 <listitem>
290 <para>
291 implements the Secure Sockets Layer (SSL v2/v3) and Transport Layer
292 Security (TLS v1) protocols. It provides a rich API, documentation
293 on which can be found by running <command>man 3 ssl</command>.
294 </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.