source: chapter08/openssl.xml@ dcb4788f

multilib
Last change on this file since dcb4788f was dcb4788f, checked in by Thomas Trepl (Moody) <thomas@…>, 22 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 8.6 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
8<sect1 id="ch-system-openssl" role="wrap">
9 <?dbhtml filename="openssl.html"?>
10
11 <sect1info condition="script">
12 <productname>openssl</productname>
13 <productnumber>&openssl-version;</productnumber>
14 <address>&openssl-url;</address>
15 </sect1info>
16
17 <title>OpenSSL-&openssl-version;</title>
18
19 <indexterm zone="ch-system-openssl">
20 <primary sortas="a-OpenSSL">OpenSSL</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The OpenSSL package contains management tools and libraries relating
27 to cryptography. These are useful for providing cryptographic functions
28 to other packages, such as OpenSSH, email applications, and web browsers
29 (for accessing HTTPS sites). </para>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&openssl-fin-sbu;</seg>
37 <seg>&openssl-fin-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44 <title>Installation of OpenSSL</title>
45
46 <para>Prepare OpenSSL for compilation:</para>
47
48<screen><userinput remap="configure">./config --prefix=/usr \
49 --openssldir=/etc/ssl \
50 --libdir=lib \
51 shared \
52 zlib-dynamic</userinput></screen>
53
54 <para>Compile the package:</para>
55
56<screen><userinput remap="make">make</userinput></screen>
57
58 <para>To test the results, issue:</para>
59
60<screen><userinput remap="test">make test</userinput></screen>
61
62 <para>One test, 30-test_afalg.t, is known to fail on some kernel
63 configurations (depending on inconsistent values of
64 CONFIG_CRYPTO_USER_API* settings.) If it fails, it can safely be
65 ignored.</para>
66
67 <para>Install the package:</para>
68
69<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
70make MANSUFFIX=ssl install</userinput></screen>
71
72 <para>Add the version to the documentation directory name, to be
73 consistent with other packages:</para>
74
75<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;</userinput></screen>
76
77 <para>If desired, install some additional documentation:</para>
78
79<screen><userinput remap="install">cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
80
81 <note>
82 <para>
83 You should update OpenSSL when a new version which fixes vulnerabilities
84 is announced. Since OpenSSL 3.0.0, the OpenSSL versioning scheme
85 follows the MAJOR.MINOR.PATCH format. API/ABI compatibility
86 are guaranteed for the same MAJOR version number. Because LFS
87 installs only the shared libraries, there is no need to recompile
88 packages which link to
89 <filename class="libraryfile">libcrypto.so</filename> or
90 <filename class="libraryfile">libssl.so</filename>
91 <emphasis>when upgrading to a version with MAJOR version number
92 unchanged</emphasis>.
93 </para>
94
95 <para>
96 However, any running programs linked to those libraries need to be stopped
97 and restarted. Read the related entries in
98 <xref linkend='pkgmgmt-upgrade-issues'/> for details.
99 </para>
100
101 </note>
102
103 </sect2>
104
105 <!-- - - - - - - - - - -->
106 <!-- Multilib - 32bit -->
107 <!-- - - - - - - - - - -->
108
109 <sect2 arch="ml_32,ml_all" role="installation">
110 <title>Installation of OpenSSL - 32bit</title>
111
112 <para>Clean previous build:</para>
113
114<screen><userinput remap="pre">make distclean</userinput></screen>
115
116 <para>Prepare OpenSSL for compilation:</para>
117
118<screen><userinput remap="configure">CFLAGS="-m32 -march=i686 -Wall -O3" CXXFLAGS="$CFLAGS" \
119./config --prefix=/usr \
120 --openssldir=/etc/ssl \
121 --libdir=lib32 \
122 shared \
123 zlib-dynamic \
124 linux-generic32</userinput></screen>
125
126 <para>Compile the package:</para>
127
128<screen><userinput remap="make">make</userinput></screen>
129
130 <para>Install the package:</para>
131
132<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
133cp -Rv DESTDIR/usr/lib32/* /usr/lib32
134rm -rf DESTDIR</userinput></screen>
135
136 </sect2><!-- m32 -->
137
138 <!-- - - - - - - - - - -->
139 <!-- Multilib - x32bit -->
140 <!-- - - - - - - - - - -->
141
142 <sect2 arch="ml_x32,ml_all" role="installation">
143 <title>Installation of OpenSSL - x32bit</title>
144
145 <para>Clean previous build:</para>
146
147<screen><userinput remap="pre">make distclean</userinput></screen>
148
149 <para>Prepare OpenSSL for compilation:</para>
150
151<screen><userinput remap="configure">CFLAGS="-mx32 -march=x86-64 -Wall -O3" CXXFLAGS="$CFLAGS" \
152./config --prefix=/usr \
153 --openssldir=/etc/ssl \
154 --libdir=libx32 \
155 shared \
156 zlib-dynamic \
157 linux-x32</userinput></screen>
158
159 <para>Compile the package:</para>
160
161<screen><userinput remap="make">make</userinput></screen>
162
163 <para>Install the package:</para>
164
165<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
166cp -Rv DESTDIR/usr/libx32/* /usr/libx32
167rm -rf DESTDIR</userinput></screen>
168
169 </sect2><!-- mx32 -->
170
171 <sect2 id="contents-openssl" role="content">
172 <title>Contents of OpenSSL</title>
173
174 <segmentedlist>
175 <segtitle>Installed programs</segtitle>
176 <segtitle>Installed libraries</segtitle>
177 <segtitle>Installed directories</segtitle>
178
179 <seglistitem>
180 <seg>
181 c_rehash and openssl
182 </seg>
183 <seg>
184 libcrypto.so and libssl.so
185 </seg>
186 <seg>
187 /etc/ssl,
188 /usr/include/openssl,
189 /usr/lib/engines and
190 /usr/share/doc/openssl-&openssl-version;
191 </seg>
192 </seglistitem>
193 </segmentedlist>
194
195 <variablelist>
196 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
197 <?dbfo list-presentation="list"?>
198 <?dbhtml list-presentation="table"?>
199
200 <varlistentry id="c_rehash">
201 <term><command>c_rehash</command></term>
202 <listitem>
203 <para>
204 is a <application>Perl</application> script that
205 scans all files in a directory and adds symbolic links to their
206 hash values. Use of <command>c_rehash</command> is considered
207 obsolete and should be replaced by
208 <command>openssl rehash</command> command
209 </para>
210 <indexterm zone="ch-system-openssl c_rehash">
211 <primary sortas="b-c_rehash">c_rehash</primary>
212 </indexterm>
213 </listitem>
214 </varlistentry>
215
216 <varlistentry id="openssl-prog">
217 <term><command>openssl</command></term>
218 <listitem>
219 <para>
220 is a command-line tool for using the various cryptography functions
221 of <application>OpenSSL</application>'s crypto library from the
222 shell. It can be used for various functions which are documented in
223 <command>man 1 openssl</command>
224 </para>
225 <indexterm zone="ch-system-openssl openssl-prog">
226 <primary sortas="b-openssl">openssl</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
231 <varlistentry id="libcrypto">
232 <term><filename class="libraryfile">libcrypto.so</filename></term>
233 <listitem>
234 <para>
235 implements a wide range of cryptographic algorithms used in various
236 Internet standards. The services provided by this library are used
237 by the <application>OpenSSL</application> implementations of SSL,
238 TLS and S/MIME, and they have also been used to implement
239 <application>OpenSSH</application>,
240 <application>OpenPGP</application>, and other cryptographic
241 standards
242 </para>
243 <indexterm zone="ch-system-openssl libcrypto">
244 <primary sortas="c-libcrypto">libcrypto.so</primary>
245 </indexterm>
246 </listitem>
247 </varlistentry>
248
249 <varlistentry id="libssl">
250 <term><filename class="libraryfile">libssl.so</filename></term>
251 <listitem>
252 <para>
253 implements the Transport Layer Security (TLS v1) protocol.
254 It provides a rich API, documentation
255 on which can be found by running <command>man 3 ssl</command>
256 </para>
257 <indexterm zone="ch-system-openssl libssl">
258 <primary sortas="c-libssl">libssl.so</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 </variablelist>
264
265 </sect2>
266
267</sect1>
Note: See TracBrowser for help on using the repository browser.