source: postlfs/security/openssl.xml@ 88e2920

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 88e2920 was 2f1d148, checked in by DJ Lucas <dj@…>, 7 years ago

Remove unnecessary note for OpenSSL.

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

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