source: chapter08/openssl.xml@ d2e7db4

ml-11.0 multilib
Last change on this file since d2e7db4 was d2e7db4, checked in by Thomas Trepl (Moody) <thomas@…>, 10 months ago

Automatic merge of trunk into multilib

  • Property mode set to 100644
File size: 8.3 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. The releases run in series, with a letter for each release
85 after the initial release (e.g. 1.1.1, 1.1.1a, 1.1.1b, etc). Because LFS
86 installs only the shared libraries, there is no need to recompile packages
87 which link to <filename class="libraryfile">libcrypto.so</filename> or
88 <filename class="libraryfile">libssl.so</filename>
89 <emphasis>when upgrading in the same series.</emphasis>
90 </para>
91
92 <para>
93 However, any running programs linked to those libraries need to be stopped
94 and restarted. Read the related entries in
95 <xref linkend='pkgmgmt-upgrade-issues'/> for details.
96 </para>
97
98 </note>
99
100 </sect2>
101
102 <!-- - - - - - - - - - -->
103 <!-- Multilib - 32bit -->
104 <!-- - - - - - - - - - -->
105
106 <sect2 arch="ml_32,ml_all" role="installation">
107 <title>Installation of OpenSSL - 32bit</title>
108
109 <para>Clean previous build:</para>
110
111<screen><userinput remap="pre">make distclean</userinput></screen>
112
113 <para>Prepare OpenSSL for compilation:</para>
114
115<screen><userinput remap="configure">MACHINE="i686" \
116CC="gcc -m32 -march=i686" \
117CXX="g++ -m32 -march=i686" \
118 ./config \
119 --prefix=/usr \
120 --openssldir=/etc/ssl \
121 --libdir=lib32 \
122 shared \
123 zlib-dynamic</userinput></screen>
124
125 <para>Compile the package:</para>
126
127<screen><userinput remap="make">make</userinput></screen>
128
129 <para>Install the package:</para>
130
131<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
132cp -Rv DESTDIR/usr/lib32/* /usr/lib32
133rm -rf DESTDIR</userinput></screen>
134
135 </sect2><!-- m32 -->
136
137 <!-- - - - - - - - - - -->
138 <!-- Multilib - x32bit -->
139 <!-- - - - - - - - - - -->
140
141 <sect2 arch="ml_x32,ml_all" role="installation">
142 <title>Installation of OpenSSL - x32bit</title>
143
144 <para>Clean previous build:</para>
145
146<screen><userinput remap="pre">make distclean</userinput></screen>
147
148 <para>Prepare OpenSSL for compilation:</para>
149
150<screen><userinput remap="configure">MACHINE="x86_64" \
151CC="gcc -mx32" \
152CXX="g++ -mx32" \
153 ./config \
154 --prefix=/usr \
155 --openssldir=/etc/ssl \
156 --libdir=libx32 \
157 shared \
158 zlib-dynamic</userinput></screen>
159
160 <para>Compile the package:</para>
161
162<screen><userinput remap="make">make</userinput></screen>
163
164 <para>Install the package:</para>
165
166<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
167cp -Rv DESTDIR/usr/libx32/* /usr/libx32
168rm -rf DESTDIR</userinput></screen>
169
170 </sect2><!-- mx32 -->
171
172 <sect2 id="contents-openssl" role="content">
173 <title>Contents of OpenSSL</title>
174
175 <segmentedlist>
176 <segtitle>Installed programs</segtitle>
177 <segtitle>Installed libraries</segtitle>
178 <segtitle>Installed directories</segtitle>
179
180 <seglistitem>
181 <seg>
182 c_rehash and openssl
183 </seg>
184 <seg>
185 libcrypto.so and libssl.so
186 </seg>
187 <seg>
188 /etc/ssl,
189 /usr/include/openssl,
190 /usr/lib/engines and
191 /usr/share/doc/openssl-&openssl-version;
192 </seg>
193 </seglistitem>
194 </segmentedlist>
195
196 <variablelist>
197 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
198 <?dbfo list-presentation="list"?>
199 <?dbhtml list-presentation="table"?>
200
201 <varlistentry id="c_rehash">
202 <term><command>c_rehash</command></term>
203 <listitem>
204 <para>
205 is a <application>Perl</application> script that scans all files in
206 a directory and adds symbolic links to their hash values
207 </para>
208 <indexterm zone="ch-system-openssl c_rehash">
209 <primary sortas="b-c_rehash">c_rehash</primary>
210 </indexterm>
211 </listitem>
212 </varlistentry>
213
214 <varlistentry id="openssl-prog">
215 <term><command>openssl</command></term>
216 <listitem>
217 <para>
218 is a command-line tool for using the various cryptography functions
219 of <application>OpenSSL</application>'s crypto library from the
220 shell. It can be used for various functions which are documented in
221 <command>man 1 openssl</command>
222 </para>
223 <indexterm zone="ch-system-openssl openssl-prog">
224 <primary sortas="b-openssl">openssl</primary>
225 </indexterm>
226 </listitem>
227 </varlistentry>
228
229 <varlistentry id="libcrypto">
230 <term><filename class="libraryfile">libcrypto.so</filename></term>
231 <listitem>
232 <para>
233 implements a wide range of cryptographic algorithms used in various
234 Internet standards. The services provided by this library are used
235 by the <application>OpenSSL</application> implementations of SSL,
236 TLS and S/MIME, and they have also been used to implement
237 <application>OpenSSH</application>,
238 <application>OpenPGP</application>, and other cryptographic
239 standards
240 </para>
241 <indexterm zone="ch-system-openssl libcrypto">
242 <primary sortas="c-libcrypto">libcrypto.so</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="libssl">
248 <term><filename class="libraryfile">libssl.so</filename></term>
249 <listitem>
250 <para>
251 implements the Transport Layer Security (TLS v1) protocol.
252 It provides a rich API, documentation
253 on which can be found by running <command>man 3 ssl</command>
254 </para>
255 <indexterm zone="ch-system-openssl libssl">
256 <primary sortas="c-libssl">libssl.so</primary>
257 </indexterm>
258 </listitem>
259 </varlistentry>
260
261 </variablelist>
262
263 </sect2>
264
265</sect1>
Note: See TracBrowser for help on using the repository browser.