source: postlfs/security/openssl.xml@ 171a5dd

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.7 7.8 7.9 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 krejzi/svn 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 171a5dd was 171a5dd, checked in by Bruce Dubbs <bdubbs@…>, 10 years ago

Start 7.6 tagging

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