source: chapter08/openssl.xml

trunk
Last change on this file was ea93c11, checked in by Xi Ruoyao <xry111@…>, 3 months ago

treewide: Use <ulink> instead of <filename> for man pages

"gcc(1)" is really not a file name.

Use <ulink> and link to the online man page on
https://man.archlinux.org/ so the user can refer to the man pages more
easily.

The change is done via a sed command and long lines are wrapped
manually.

  • Property mode set to 100644
File size: 7.3 KB
RevLine 
[7152faa]1<?xml version="1.0" encoding="UTF-8"?>
[e5474751]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
[3a8d182]66<screen><userinput remap="test">HARNESS_JOBS=<replaceable>$(nproc)</replaceable> make test</userinput></screen>
[a751c8d]67
[ed48f326]68 <para>One test, 30-test_afalg.t, is known to fail if the host kernel
69 does not have <option>CONFIG_CRYPTO_USER_API_SKCIPHER</option> enabled,
70 or does not have any options providing an AES with CBC implementation
71 (for example, the combination of <option>CONFIG_CRYPTO_AES</option>
72 and <option>CONFIG_CRYPTO_CBC</option>, or
73 <option>CONFIG_CRYPTO_AES_NI_INTEL</option> if the CPU supports AES-NI)
74 enabled. If it fails, it can safely be ignored.</para>
[a751c8d]75
[e5474751]76 <para>Install the package:</para>
77
78<screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
79make MANSUFFIX=ssl install</userinput></screen>
80
[f82ef49]81 <para>Add the version to the documentation directory name, to be
82 consistent with other packages:</para>
[e5474751]83
[f82ef49]84<screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;</userinput></screen>
85
86 <para>If desired, install some additional documentation:</para>
87
88<screen><userinput remap="install">cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
[e5474751]89
[6df63e4]90 <note>
91 <para>
92 You should update OpenSSL when a new version which fixes vulnerabilities
[0d7dbaf]93 is announced. Since OpenSSL 3.0.0, the OpenSSL versioning scheme
94 follows the MAJOR.MINOR.PATCH format. API/ABI compatibility
[5042efcc]95 is guaranteed for the same MAJOR version number. Because LFS
[0d7dbaf]96 installs only the shared libraries, there is no need to recompile
97 packages which link to
98 <filename class="libraryfile">libcrypto.so</filename> or
[6df63e4]99 <filename class="libraryfile">libssl.so</filename>
[5042efcc]100 <emphasis>when upgrading to a version with the same MAJOR version
101 number</emphasis>.
[6df63e4]102 </para>
103
104 <para>
105 However, any running programs linked to those libraries need to be stopped
[59fef4c]106 and restarted. Read the related entries in
107 <xref linkend='pkgmgmt-upgrade-issues'/> for details.
[6df63e4]108 </para>
109
110 </note>
111
[e5474751]112 </sect2>
113
114 <sect2 id="contents-openssl" role="content">
115 <title>Contents of OpenSSL</title>
116
117 <segmentedlist>
118 <segtitle>Installed programs</segtitle>
119 <segtitle>Installed libraries</segtitle>
120 <segtitle>Installed directories</segtitle>
121
122 <seglistitem>
123 <seg>
124 c_rehash and openssl
125 </seg>
126 <seg>
[68a5dcb9]127 libcrypto.so and libssl.so
[e5474751]128 </seg>
129 <seg>
130 /etc/ssl,
131 /usr/include/openssl,
132 /usr/lib/engines and
133 /usr/share/doc/openssl-&openssl-version;
134 </seg>
135 </seglistitem>
136 </segmentedlist>
137
138 <variablelist>
139 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
140 <?dbfo list-presentation="list"?>
141 <?dbhtml list-presentation="table"?>
142
143 <varlistentry id="c_rehash">
144 <term><command>c_rehash</command></term>
145 <listitem>
146 <para>
[0b0fa07]147 is a <application>Perl</application> script that
148 scans all files in a directory and adds symbolic links to their
149 hash values. Use of <command>c_rehash</command> is considered
150 obsolete and should be replaced by
151 <command>openssl rehash</command> command
[e5474751]152 </para>
153 <indexterm zone="ch-system-openssl c_rehash">
154 <primary sortas="b-c_rehash">c_rehash</primary>
155 </indexterm>
156 </listitem>
157 </varlistentry>
158
159 <varlistentry id="openssl-prog">
160 <term><command>openssl</command></term>
161 <listitem>
162 <para>
163 is a command-line tool for using the various cryptography functions
164 of <application>OpenSSL</application>'s crypto library from the
165 shell. It can be used for various functions which are documented in
[ea93c11]166 <ulink role='man' url='&man;openssl.1'>openssl(1)</ulink>
[e5474751]167 </para>
168 <indexterm zone="ch-system-openssl openssl-prog">
169 <primary sortas="b-openssl">openssl</primary>
170 </indexterm>
171 </listitem>
172 </varlistentry>
173
174 <varlistentry id="libcrypto">
175 <term><filename class="libraryfile">libcrypto.so</filename></term>
176 <listitem>
177 <para>
178 implements a wide range of cryptographic algorithms used in various
179 Internet standards. The services provided by this library are used
180 by the <application>OpenSSL</application> implementations of SSL,
181 TLS and S/MIME, and they have also been used to implement
182 <application>OpenSSH</application>,
183 <application>OpenPGP</application>, and other cryptographic
[8d35535]184 standards
[e5474751]185 </para>
186 <indexterm zone="ch-system-openssl libcrypto">
187 <primary sortas="c-libcrypto">libcrypto.so</primary>
188 </indexterm>
189 </listitem>
190 </varlistentry>
191
192 <varlistentry id="libssl">
193 <term><filename class="libraryfile">libssl.so</filename></term>
194 <listitem>
195 <para>
196 implements the Transport Layer Security (TLS v1) protocol.
197 It provides a rich API, documentation
[ea93c11]198 on which can be found in <ulink role='man'
199 url='&man;ssl.7'>ssl(7)</ulink>
[e5474751]200 </para>
201 <indexterm zone="ch-system-openssl libssl">
202 <primary sortas="c-libssl">libssl.so</primary>
203 </indexterm>
204 </listitem>
205 </varlistentry>
206
207 </variablelist>
208
209 </sect2>
210
211</sect1>
Note: See TracBrowser for help on using the repository browser.