source: postlfs/security/openssl.xml@ f3429309

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 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 f3429309 was f3429309, checked in by Fernando de Oliveira <fernando@…>, 8 years ago
  • mupdf-1.8: minor reformat.
  • removing spaces from EOL, from Denis Mugnier.
  • BLFS/trunk/BOOK/kde/add/kdepim-runtime.xml: needed to fix to validate the book. One chunck had been removed. Bruce, please check if it is OK, now.

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