source: postlfs/security/openssl.xml@ eace268c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 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/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since eace268c was a4f37269, checked in by DJ Lucas <dj@…>, 7 years ago

Update to OpenSSL-1.1.0f. Fixes #8214.
Update to OpenSSL Libraries 1.0.2l. Fixes #9282.
Remove Re-alpine and raplaced with Alpine-2.21.

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

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