source: postlfs/security/openssl.xml@ 25a105fe

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 25a105fe was 25a105fe, checked in by Bruce Dubbs <bdubbs@…>, 11 years ago

minor format issue

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