source: chapter08/openssl.xml@ bd5b888

12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/update-glibc
Last change on this file since bd5b888 was ad09ba4, checked in by Xi Ruoyao <xry111@…>, 15 months ago

openssl: Fix a typo, and add a link to OpenSSH issue

  • Property mode set to 100644
File size: 7.8 KB
RevLine 
[e5474751]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
[6a156bab]28 to other packages, such as OpenSSH, email applications, and web browsers
[e5474751]29 (for accessing HTTPS sites). </para>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
[fb386e0]36 <seg>&openssl-fin-sbu;</seg>
37 <seg>&openssl-fin-du;</seg>
[e5474751]38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44 <title>Installation of OpenSSL</title>
[f1b9d9d]45<!--
[e5e442c]46 <para>First fix a problem with some advanced architectures with avx512
[0d80e532]47 capability:</para>
48
49 <screen><userinput remap="pre">sed -e '/bn_reduce.*m1/i\ factor_size /= sizeof(BN_ULONG) * 8;' \
50 -i crypto/bn/rsaz_exp_x2.c</userinput></screen>
[f1b9d9d]51-->
[e5474751]52 <para>Prepare OpenSSL for compilation:</para>
53
54<screen><userinput remap="configure">./config --prefix=/usr \
55 --openssldir=/etc/ssl \
56 --libdir=lib \
57 shared \
58 zlib-dynamic</userinput></screen>
59
60 <para>Compile the package:</para>
61
62<screen><userinput remap="make">make</userinput></screen>
63
64 <para>To test the results, issue:</para>
65
66<screen><userinput remap="test">make test</userinput></screen>
[a751c8d]67
[3dc8226]68 <para>One test, 30-test_afalg.t, is known to fail on some kernel
69 configurations (depending on inconsistent values of
70 CONFIG_CRYPTO_USER_API* settings.) If it fails, it can safely be
71 ignored.</para>
[a751c8d]72
[e5474751]73 <para>Install the package:</para>
74
75<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
76make MANSUFFIX=ssl install</userinput></screen>
77
[f82ef49]78 <para>Add the version to the documentation directory name, to be
79 consistent with other packages:</para>
[e5474751]80
[f82ef49]81<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;</userinput></screen>
82
83 <para>If desired, install some additional documentation:</para>
84
85<screen><userinput remap="install">cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
[e5474751]86
[6df63e4]87 <note>
88 <para>
89 You should update OpenSSL when a new version which fixes vulnerabilities
[0d7dbaf]90 is announced. Since OpenSSL 3.0.0, the OpenSSL versioning scheme
91 follows the MAJOR.MINOR.PATCH format. API/ABI compatibility
[5042efcc]92 is guaranteed for the same MAJOR version number. Because LFS
[0d7dbaf]93 installs only the shared libraries, there is no need to recompile
94 packages which link to
95 <filename class="libraryfile">libcrypto.so</filename> or
[6df63e4]96 <filename class="libraryfile">libssl.so</filename>
[5042efcc]97 <emphasis>when upgrading to a version with the same MAJOR version
98 number</emphasis>.
[6df63e4]99 </para>
100
[ad09ba4]101 <!-- https://bugzilla.mindrot.org/show_bug.cgi?id=3548 -->
[bbaf00d]102 <para>
103 If <application>OpenSSH</application> is installed, it will be an
104 exception of the general rule above. It contains an
105 over-restrictive OpenSSL version check, so both SSH client and SSH
[ad09ba4]106 server will refuse to start if OpenSSL
[bbaf00d]107 is updated with MAJOR version number unchanged but MINOR version
108 number changed. You need to rebuild
109 <application>OpenSSH</application> after such an upgrade.
110 <emphasis role='bold'>If <application>OpenSSH</application> is being
111 used to access the system, you must rebuild and reinstall it
112 after upgrading OpenSSL to a new MINOR version number before logout
113 or you won't be able to login via SSH anymore.</emphasis>
114 </para>
115
[6df63e4]116 <para>
117 However, any running programs linked to those libraries need to be stopped
[59fef4c]118 and restarted. Read the related entries in
119 <xref linkend='pkgmgmt-upgrade-issues'/> for details.
[6df63e4]120 </para>
121
122 </note>
123
[e5474751]124 </sect2>
125
126 <sect2 id="contents-openssl" role="content">
127 <title>Contents of OpenSSL</title>
128
129 <segmentedlist>
130 <segtitle>Installed programs</segtitle>
131 <segtitle>Installed libraries</segtitle>
132 <segtitle>Installed directories</segtitle>
133
134 <seglistitem>
135 <seg>
136 c_rehash and openssl
137 </seg>
138 <seg>
[68a5dcb9]139 libcrypto.so and libssl.so
[e5474751]140 </seg>
141 <seg>
142 /etc/ssl,
143 /usr/include/openssl,
144 /usr/lib/engines and
145 /usr/share/doc/openssl-&openssl-version;
146 </seg>
147 </seglistitem>
148 </segmentedlist>
149
150 <variablelist>
151 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
152 <?dbfo list-presentation="list"?>
153 <?dbhtml list-presentation="table"?>
154
155 <varlistentry id="c_rehash">
156 <term><command>c_rehash</command></term>
157 <listitem>
158 <para>
[0b0fa07]159 is a <application>Perl</application> script that
160 scans all files in a directory and adds symbolic links to their
161 hash values. Use of <command>c_rehash</command> is considered
162 obsolete and should be replaced by
163 <command>openssl rehash</command> command
[e5474751]164 </para>
165 <indexterm zone="ch-system-openssl c_rehash">
166 <primary sortas="b-c_rehash">c_rehash</primary>
167 </indexterm>
168 </listitem>
169 </varlistentry>
170
171 <varlistentry id="openssl-prog">
172 <term><command>openssl</command></term>
173 <listitem>
174 <para>
175 is a command-line tool for using the various cryptography functions
176 of <application>OpenSSL</application>'s crypto library from the
177 shell. It can be used for various functions which are documented in
[8d35535]178 <command>man 1 openssl</command>
[e5474751]179 </para>
180 <indexterm zone="ch-system-openssl openssl-prog">
181 <primary sortas="b-openssl">openssl</primary>
182 </indexterm>
183 </listitem>
184 </varlistentry>
185
186 <varlistentry id="libcrypto">
187 <term><filename class="libraryfile">libcrypto.so</filename></term>
188 <listitem>
189 <para>
190 implements a wide range of cryptographic algorithms used in various
191 Internet standards. The services provided by this library are used
192 by the <application>OpenSSL</application> implementations of SSL,
193 TLS and S/MIME, and they have also been used to implement
194 <application>OpenSSH</application>,
195 <application>OpenPGP</application>, and other cryptographic
[8d35535]196 standards
[e5474751]197 </para>
198 <indexterm zone="ch-system-openssl libcrypto">
199 <primary sortas="c-libcrypto">libcrypto.so</primary>
200 </indexterm>
201 </listitem>
202 </varlistentry>
203
204 <varlistentry id="libssl">
205 <term><filename class="libraryfile">libssl.so</filename></term>
206 <listitem>
207 <para>
208 implements the Transport Layer Security (TLS v1) protocol.
209 It provides a rich API, documentation
[ce536f9]210 on which can be found by running <command>man 7 ssl</command>
[e5474751]211 </para>
212 <indexterm zone="ch-system-openssl libssl">
213 <primary sortas="c-libssl">libssl.so</primary>
214 </indexterm>
215 </listitem>
216 </varlistentry>
217
218 </variablelist>
219
220 </sect2>
221
222</sect1>
Note: See TracBrowser for help on using the repository browser.