source: postlfs/security/openssl.xml@ 9e7fa16

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 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 9e7fa16 was 7fdeb26, checked in by Krejzi <krejzi@…>, 12 years ago

remove heimdal kerberos. one kerberos implementation is enough for BLFS

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

  • Property mode set to 100644
File size: 9.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 <!ENTITY openssl-download-http
8 "http://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
9 <!ENTITY openssl-download-ftp
10 "ftp://ftp.openssl.org/source/openssl-&openssl-version;.tar.gz">
11 <!ENTITY openssl-md5sum "134f168bc2a8333f19f81d684841710b">
12 <!ENTITY openssl-size "4.25 MB">
13 <!ENTITY openssl-buildsize "54 MB">
14 <!ENTITY openssl-time "1.1 SBU">
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 cryptography functions to other packages, such as
38 <application>OpenSSH</application>, email applications and web browsers
39 (for accessing HTTPS sites).
40 </para>
41
42 &lfs71_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&openssl-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&openssl-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &openssl-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &openssl-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &openssl-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &openssl-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing='compact'>
80 <listitem>
81 <para>
82 Required patch: <ulink
83 url="&patch-root;/openssl-&openssl-version;-fix_manpages-1.patch"/>
84 </para>
85 </listitem>
86 </itemizedlist>
87
88 <bridgehead renderas="sect3">OpenSSL Dependencies</bridgehead>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="mitkrb"/> and
93 <xref linkend="bc"/> (required for full coverage by the test suite during
94 the build)
95 </para>
96
97 <para condition="html" role="usernotes">
98 User Notes: <ulink url='&blfs-wiki;/OpenSSL'/>
99 </para>
100
101 </sect2>
102
103 <sect2 role="installation">
104 <title>Installation of OpenSSL</title>
105
106 <para>
107 Install <application>OpenSSL</application> by running the following
108 commands:
109 </para>
110
111<screen><userinput>patch -Np1 -i ../openssl-&openssl-version;-fix_manpages-1.patch &amp;&amp;
112./config --prefix=/usr zlib-dynamic \
113 --openssldir=/etc/ssl shared &amp;&amp;
114make</userinput></screen>
115
116 <para>
117 To test the results, issue: <command>make test</command>.
118 </para>
119
120 <para>
121 If you want to disable installing the static libraries, use this sed:
122 </para>
123
124<screen><userinput>sed -i 's# libcrypto.a##;s# libssl.a##' Makefile</userinput></screen>
125
126 <para>
127 Now, as the <systemitem class="username">root</systemitem> user:
128 </para>
129
130<screen role="root"><userinput>make MANDIR=/usr/share/man install &amp;&amp;
131install -v -d -m755 /usr/share/doc/openssl-&openssl-version; &amp;&amp;
132cp -v -r doc/{HOWTO,README,*.{txt,html,gif}} /usr/share/doc/openssl-&openssl-version;</userinput></screen>
133
134 </sect2>
135
136 <sect2 role="commands">
137 <title>Command Explanations</title>
138
139 <para>
140 <parameter>shared</parameter>: This parameter forces the creation of
141 shared libraries along with the static libraries.
142 </para>
143
144 <para>
145 <parameter>zlib-dynamic</parameter>: This parameter adds
146 compression/decompression functionality using the
147 <filename class="libraryfile">libz</filename> library.
148 </para>
149
150 <para>
151 <option>no-rc5 no-idea</option>: When added to the
152 <command>./config</command> command, this will eliminate the building
153 of those encryption methods. Patent licenses may be needed for you to
154 utilize either of those methods in your projects.
155 </para>
156
157 <para>
158 <command>make MANDIR=/usr/share/man install</command>: This command
159 installs <application>OpenSSL</application> with the man pages in
160 <filename class='directory'>/usr/share/man</filename> instead of
161 <filename class='directory'>/etc/ssl/man</filename>.
162 </para>
163 </sect2>
164
165 <sect2 role="configuration">
166 <title>Configuring OpenSSL</title>
167
168 <sect3 id="openssl-config">
169 <title>Config Files</title>
170
171 <para>
172 <filename>/etc/ssl/openssl.cnf</filename>
173 </para>
174
175 <indexterm zone="openssl openssl-config">
176 <primary sortas="e-etc-ssl-openssl.cnf">/etc/ssl/openssl.cnf</primary>
177 </indexterm>
178
179 </sect3>
180 <sect3>
181 <title>Configuration Information</title>
182
183 <para>
184 Most users will want to install Certificate Authority Certificates
185 for validataion of downloaded certificates. For example, these
186 certificates are used by <xref linkend='git'/>, <xref linkend='curl'/>
187 or <xref linkend='wget'/> when accessing secure (https protocol) sites.
188 To do this, follow the instructions from the <xref linkend='cacerts'/>
189 page.
190 </para>
191
192 <para>
193 Users who just want to use <application>OpenSSL</application> for
194 providing functions to other programs such as
195 <application>OpenSSH</application> and web browsers do not need to worry
196 about additional configuration. This is an advanced topic and so those
197 who do need it would normally be expected to either know how to properly
198 update <filename>/etc/ssl/openssl.cnf</filename> or be able to find out
199 how to do it.
200 </para>
201 </sect3>
202 </sect2>
203
204 <sect2 role="content">
205 <title>Contents</title>
206
207 <segmentedlist>
208 <segtitle>Installed Programs</segtitle>
209 <segtitle>Installed Libraries</segtitle>
210 <segtitle>Installed Directories</segtitle>
211
212 <seglistitem>
213 <seg>c_rehash and openssl</seg>
214 <seg>
215 libcrypto.{so,a}, libssl.{so,a}, and additional encryption
216 libraries in /usr/lib/engines/ (lib4758cca.so, libaep.so,
217 libatalla.so, libcapi.so, libchil.so, libcswift.so, libgmp.so,
218 libgost.so, libnuron.so, libpadlock.so, libsureware.so, and
219 libubsec.so)
220 </seg>
221 <seg>/etc/ssl, /usr/include/openssl, /usr/lib/engines
222 and /usr/share/doc/openssl-&openssl-version;</seg>
223 </seglistitem>
224 </segmentedlist>
225
226 <variablelist>
227 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
228 <?dbfo list-presentation="list"?>
229 <?dbhtml list-presentation="table"?>
230
231 <varlistentry id="c_rehash">
232 <term><command>c_rehash</command></term>
233 <listitem>
234 <para>
235 is a <application>Perl</application> script that scans all files in
236 a directory and adds symbolic links to their hash values.
237 </para>
238 <indexterm zone="openssl c_rehash">
239 <primary sortas="b-c_rehash">c_rehash</primary>
240 </indexterm>
241 </listitem>
242 </varlistentry>
243
244 <varlistentry id="openssl-prog">
245 <term><command>openssl</command></term>
246 <listitem>
247 <para>
248 is a command-line tool for using the various cryptography functions
249 of <application>OpenSSL</application>'s crypto library from the
250 shell. It can be used for various functions which are documented in
251 <command>man 1 openssl</command>.
252 </para>
253 <indexterm zone="openssl openssl-prog">
254 <primary sortas="b-openssl">openssl</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="libcrypto">
260 <term><filename class='libraryfile'>libcrypto.{so,a}</filename></term>
261 <listitem>
262 <para>
263 implements a wide range of cryptographic algorithms used in various
264 Internet standards. The services provided by this library are used
265 by the <application>OpenSSL</application> implementations of SSL,
266 TLS and S/MIME, and they have also been used to implement
267 <application>OpenSSH</application>,
268 <application>OpenPGP</application>, and other cryptographic
269 standards.
270 </para>
271 <indexterm zone="openssl libcrypto">
272 <primary sortas="c-libcrypto">libcrypto.{so,a}</primary>
273 </indexterm>
274 </listitem>
275 </varlistentry>
276
277 <varlistentry id="libssl">
278 <term><filename class='libraryfile'>libssl.{so,a}</filename></term>
279 <listitem>
280 <para>
281 implements the Secure Sockets Layer (SSL v2/v3) and Transport Layer
282 Security (TLS v1) protocols. It provides a rich API, documentation
283 on which can be found by running <command>man 3 ssl</command>.
284 </para>
285 <indexterm zone="openssl libssl">
286 <primary sortas="c-libssl">libssl.{so,a}</primary>
287 </indexterm>
288 </listitem>
289 </varlistentry>
290 </variablelist>
291 </sect2>
292</sect1>
Note: See TracBrowser for help on using the repository browser.