source: postlfs/security/openssl.xml@ d0db416

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since d0db416 was 8e848de9, checked in by Bruce Dubbs <bdubbs@…>, 7 years ago

Add gcc7_checked entity.
Minor editorial changes.

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

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