source: postlfs/security/openssl.xml@ 35f1730

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 8.0 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 nosym 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 35f1730 was 35f1730, checked in by Bruce Dubbs <bdubbs@…>, 8 years ago

Update lsof URL.
Add a note that openssl does not support parallel tets.
Restore autoconf to libva-intel-driver.
Update PIN-Entry dependencies.
Update valgrind dependencies.

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

  • Property mode set to 100644
File size: 10.0 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 "f3c710c045cdee5fd114feb69feba7aa">
12 <!ENTITY openssl-size "5.1 MB">
13 <!ENTITY openssl-buildsize "63 MB (with tests)">
14 <!ENTITY openssl-time "1.5 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 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 &lfs79_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="mitkrb"/>
93 </para>
94
95 <para condition="html" role="usernotes">
96 User Notes: <ulink url='&blfs-wiki;/OpenSSL'/>
97 </para>
98 </sect2>
99
100 <sect2 role="installation">
101 <title>Installation of OpenSSL</title>
102
103 <para>
104 Install <application>OpenSSL</application> with the following commands:
105 </para>
106
107<!-- libdir=lib so it doesn't write over /usr/lib64 symlink on 64 bit system.
108 Might break packaging. -->
109
110<!-- Parallel build for version 1.0.2d at -j8 works for me without the patch.
111 But it only reduces build time from 1.0 to 0.7 SBU - Bruce
112
113<screen><userinput>patch -Np1 -i ../openssl-&openssl-version;-fix_parallel_build-1.patch &amp;&amp;-->
114<screen><userinput>./config --prefix=/usr \
115 --openssldir=/etc/ssl \
116 --libdir=lib \
117 shared \
118 zlib-dynamic &amp;&amp;
119make</userinput></screen>
120
121 <para>
122 To test the results, issue: <command>make -j1 test</command>. The
123 test suite does not support parallel jobs.
124 </para>
125
126 <para>
127 If you want to disable installing the static libraries, use this sed:
128 </para>
129
130<screen><userinput>sed -i 's# libcrypto.a##;s# libssl.a##' Makefile</userinput></screen>
131
132 <para>
133 Now, as the <systemitem class="username">root</systemitem> user:
134 </para>
135
136<!-- dev note: make INSTALL_PREFIX=<DESTDIR> MANDIR=/usr/share/man MANSUFFIX=ssl install -->
137
138<screen role="root"><userinput>make MANDIR=/usr/share/man MANSUFFIX=ssl install &amp;&amp;
139install -dv -m755 /usr/share/doc/openssl-&openssl-version; &amp;&amp;
140cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
141
142 </sect2>
143
144 <sect2 role="commands">
145 <title>Command Explanations</title>
146
147 <para>
148 <parameter>shared</parameter>: This parameter forces the creation of
149 shared libraries along with the static libraries.
150 </para>
151
152 <para>
153 <parameter>zlib-dynamic</parameter>: This parameter adds
154 compression/decompression functionality using the
155 <filename class="libraryfile">libz</filename> library.
156 </para>
157
158 <para>
159 <option>no-rc5 no-idea</option>: When added to the
160 <command>./config</command> command, this will eliminate the building
161 of those encryption methods. Patent licenses may be needed for you to
162 utilize either of those methods in your projects.
163 </para>
164
165 <para>
166 <command>make MANDIR=/usr/share/man MANSUFFIX=ssl install</command>:
167 This command installs <application>OpenSSL</application> with the man
168 pages in <filename class="directory">/usr/share/man</filename>
169 instead of <filename class="directory">/etc/ssl/man</filename> and
170 appends "ssl" suffix to the manual page names to avoid conflicts with
171 manual pages installed by other packages.
172 </para>
173
174 </sect2>
175
176 <sect2 role="configuration">
177 <title>Configuring OpenSSL</title>
178
179 <sect3 id="openssl-config">
180 <title>Config Files</title>
181
182 <para>
183 <filename>/etc/ssl/openssl.cnf</filename>
184 </para>
185
186 <indexterm zone="openssl openssl-config">
187 <primary sortas="e-etc-ssl-openssl.cnf">/etc/ssl/openssl.cnf</primary>
188 </indexterm>
189
190 </sect3>
191
192 <sect3>
193 <title>Configuration Information</title>
194
195 <para>
196 Most users will want to install Certificate Authority Certificates
197 for validation of downloaded certificates. For example, these
198 certificates can be used by <xref linkend='git'/>,
199 <xref linkend='curl'/> or <xref linkend='wget'/> when accessing secure
200 (https protocol) sites. To do this, follow the instructions from the
201 <xref linkend='cacerts'/> page.
202 </para>
203
204 <para>
205 Users who just want to use <application>OpenSSL</application> for
206 providing functions to other programs such as
207 <application>OpenSSH</application> and web browsers do not need to worry
208 about additional configuration. This is an advanced topic and so those
209 who do need it would normally be expected to either know how to properly
210 update <filename>/etc/ssl/openssl.cnf</filename> or be able to find out
211 how to do it.
212 </para>
213
214 </sect3>
215
216 </sect2>
217
218 <sect2 role="content">
219 <title>Contents</title>
220
221 <segmentedlist>
222 <segtitle>Installed Programs</segtitle>
223 <segtitle>Installed Libraries</segtitle>
224 <segtitle>Installed Directories</segtitle>
225
226 <seglistitem>
227 <seg>
228 c_rehash and openssl
229 </seg>
230 <seg>
231 libcrypto.{so,a} and libssl.{so,a}
232 </seg>
233 <seg>
234 /etc/ssl,
235 /usr/include/openssl,
236 /usr/lib/engines and
237 /usr/share/doc/openssl-&openssl-version;
238 </seg>
239 </seglistitem>
240 </segmentedlist>
241
242 <variablelist>
243 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
244 <?dbfo list-presentation="list"?>
245 <?dbhtml list-presentation="table"?>
246
247 <varlistentry id="c_rehash">
248 <term><command>c_rehash</command></term>
249 <listitem>
250 <para>
251 is a <application>Perl</application> script that scans all files in
252 a directory and adds symbolic links to their hash values.
253 </para>
254 <indexterm zone="openssl c_rehash">
255 <primary sortas="b-c_rehash">c_rehash</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="openssl-prog">
261 <term><command>openssl</command></term>
262 <listitem>
263 <para>
264 is a command-line tool for using the various cryptography functions
265 of <application>OpenSSL</application>'s crypto library from the
266 shell. It can be used for various functions which are documented in
267 <command>man 1 openssl</command>.
268 </para>
269 <indexterm zone="openssl openssl-prog">
270 <primary sortas="b-openssl">openssl</primary>
271 </indexterm>
272 </listitem>
273 </varlistentry>
274
275 <varlistentry id="libcrypto">
276 <term><filename class="libraryfile">libcrypto.{so,a}</filename></term>
277 <listitem>
278 <para>
279 implements a wide range of cryptographic algorithms used in various
280 Internet standards. The services provided by this library are used
281 by the <application>OpenSSL</application> implementations of SSL,
282 TLS and S/MIME, and they have also been used to implement
283 <application>OpenSSH</application>,
284 <application>OpenPGP</application>, and other cryptographic
285 standards.
286 </para>
287 <indexterm zone="openssl libcrypto">
288 <primary sortas="c-libcrypto">libcrypto.{so,a}</primary>
289 </indexterm>
290 </listitem>
291 </varlistentry>
292
293 <varlistentry id="libssl">
294 <term><filename class="libraryfile">libssl.{so,a}</filename></term>
295 <listitem>
296 <para>
297 implements the Transport Layer Security (TLS v1) protocol.
298 It provides a rich API, documentation
299 on which can be found by running <command>man 3 ssl</command>.
300 </para>
301 <indexterm zone="openssl libssl">
302 <primary sortas="c-libssl">libssl.{so,a}</primary>
303 </indexterm>
304 </listitem>
305 </varlistentry>
306
307 </variablelist>
308
309 </sect2>
310
311</sect1>
Note: See TracBrowser for help on using the repository browser.