source: postlfs/security/openssl.xml@ 5c22cb01

systemd-13485
Last change on this file since 5c22cb01 was 5c22cb01, checked in by Douglas R. Reno <renodr@…>, 6 years ago

Updated lsof URL. Merged from trunk r17090
Updated PIN-Entry dependencies. Merged from trunk r17090
Updated Valgrind dependencies. Merged from trunk r17090
Added note about OpenSSL's Test Suite not supporting parallel make jobs. Merged from trunk r17090.
Restored autoconf to libva-intel-driver. Merged from trunk r17090
Updated to Sudo-1.8.16. Merged from trunk r17127
Changed the configure script in the GCC-5.3.0 page to use the new configure switch for the libstdc++ ABI.
Updated to OpenSSH-7.2p2. Merged from trunk r17106.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@17199 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 10.0 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 "f3c710c045cdee5fd114feb69feba7aa">
12 <!ENTITY openssl-size "5.1 MB">
13 <!ENTITY openssl-buildsize "63 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 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 &lfs79_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<!--
79 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
80 <itemizedlist spacing="compact">
81 <listitem>
82 <para>
83 Required patch:
84 <ulink url="&patch-root;/openssl-&openssl-version;-fix_parallel_build-1.patch"/>
85 </para>
86 </listitem>
87 </itemizedlist>
88-->
89
90 <bridgehead renderas="sect3">OpenSSL Dependencies</bridgehead>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="mitkrb"/>
95 </para>
96
97 <para condition="html" role="usernotes">
98 User Notes: <ulink url='&blfs-wiki;/OpenSSL'/>
99 </para>
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of OpenSSL</title>
104
105 <para>
106 Install <application>OpenSSL</application> with the following commands:
107 </para>
108
109<!-- libdir=lib so it doesn't write over /usr/lib64 symlink on 64 bit system.
110 Might break packaging. -->
111
112<!-- Parallel build for version 1.0.2d at -j8 works for me without the patch.
113 But it only reduces build time from 1.0 to 0.7 SBU - Bruce
114
115<screen><userinput>patch -Np1 -i ../openssl-&openssl-version;-fix_parallel_build-1.patch &amp;&amp;-->
116
117<screen><userinput>./config --prefix=/usr \
118 --openssldir=/etc/ssl \
119 --libdir=lib \
120 shared \
121 zlib-dynamic &amp;&amp;
122make</userinput></screen>
123
124 <para>
125 To test the results, issue: <command>make -j1 test</command>. The
126 test suite does not support parallel jobs.
127 </para>
128
129 <para>
130 If you want to disable installing the static libraries, use this sed:
131 </para>
132
133<screen><userinput>sed -i 's# libcrypto.a##;s# libssl.a##' Makefile</userinput></screen>
134
135 <para>
136 Now, as the <systemitem class="username">root</systemitem> user:
137 </para>
138
139<!-- dev note: make INSTALL_PREFIX=<DESTDIR> MANDIR=/usr/share/man MANSUFFIX=ssl install -->
140
141<screen role="root"><userinput>make MANDIR=/usr/share/man MANSUFFIX=ssl install &amp;&amp;
142install -dv -m755 /usr/share/doc/openssl-&openssl-version; &amp;&amp;
143cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
144
145 </sect2>
146
147 <sect2 role="commands">
148 <title>Command Explanations</title>
149
150 <para>
151 <parameter>shared</parameter>: This parameter forces the creation of
152 shared libraries along with the static libraries.
153 </para>
154
155 <para>
156 <parameter>zlib-dynamic</parameter>: This parameter adds
157 compression/decompression functionality using the
158 <filename class="libraryfile">libz</filename> library.
159 </para>
160
161 <para>
162 <option>no-rc5 no-idea</option>: When added to the
163 <command>./config</command> command, this will eliminate the building
164 of those encryption methods. Patent licenses may be needed for you to
165 utilize either of those methods in your projects.
166 </para>
167
168 <para>
169 <command>make MANDIR=/usr/share/man MANSUFFIX=ssl install</command>:
170 This command installs <application>OpenSSL</application> with the man
171 pages in <filename class="directory">/usr/share/man</filename>
172 instead of <filename class="directory">/etc/ssl/man</filename> and
173 appends "ssl" suffix to the manual page names to avoid conflicts with
174 manual pages installed by other packages.
175 </para>
176
177 </sect2>
178
179 <sect2 role="configuration">
180 <title>Configuring OpenSSL</title>
181
182 <sect3 id="openssl-config">
183 <title>Config Files</title>
184
185 <para>
186 <filename>/etc/ssl/openssl.cnf</filename>
187 </para>
188
189 <indexterm zone="openssl openssl-config">
190 <primary sortas="e-etc-ssl-openssl.cnf">/etc/ssl/openssl.cnf</primary>
191 </indexterm>
192
193 </sect3>
194
195 <sect3>
196 <title>Configuration Information</title>
197
198 <para>
199 Most users will want to install Certificate Authority Certificates
200 for validation of downloaded certificates. For example, these
201 certificates can be used by <xref linkend='git'/>,
202 <xref linkend='curl'/>, or <xref linkend='wget'/> when accessing secure
203 (https protocol) sites. To do this, follow the instructions from the
204 <xref linkend='cacerts'/> page.
205 </para>
206
207 <para>
208 Users who just want to use <application>OpenSSL</application> for
209 providing functions to other programs such as
210 <application>OpenSSH</application> and web browsers do not need to worry
211 about additional configuration. This is an advanced topic and those
212 who do need it would normally be expected to either know how to properly
213 update <filename>/etc/ssl/openssl.cnf</filename> or be able to find out
214 how to do it.
215 </para>
216
217 </sect3>
218
219 </sect2>
220
221 <sect2 role="content">
222 <title>Contents</title>
223
224 <segmentedlist>
225 <segtitle>Installed Programs</segtitle>
226 <segtitle>Installed Libraries</segtitle>
227 <segtitle>Installed Directories</segtitle>
228
229 <seglistitem>
230 <seg>
231 c_rehash
232 and openssl
233 </seg>
234 <seg>
235 libcrypto.{so,a}
236 and libssl.{so,a}
237 </seg>
238 <seg>
239 /etc/ssl,
240 /usr/include/openssl,
241 /usr/lib/engines and
242 /usr/share/doc/openssl-&openssl-version;
243 </seg>
244 </seglistitem>
245 </segmentedlist>
246
247 <variablelist>
248 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
249 <?dbfo list-presentation="list"?>
250 <?dbhtml list-presentation="table"?>
251
252 <varlistentry id="c_rehash">
253 <term><command>c_rehash</command></term>
254 <listitem>
255 <para>
256 is a <application>Perl</application> script that scans all files in
257 a directory and adds symbolic links to their hash values.
258 </para>
259 <indexterm zone="openssl c_rehash">
260 <primary sortas="b-c_rehash">c_rehash</primary>
261 </indexterm>
262 </listitem>
263 </varlistentry>
264
265 <varlistentry id="openssl-prog">
266 <term><command>openssl</command></term>
267 <listitem>
268 <para>
269 is a command-line tool for using the various cryptography functions
270 of <application>OpenSSL</application>'s crypto library from the
271 shell. It can be used for various functions which are documented in
272 <command>man 1 openssl</command>.
273 </para>
274 <indexterm zone="openssl openssl-prog">
275 <primary sortas="b-openssl">openssl</primary>
276 </indexterm>
277 </listitem>
278 </varlistentry>
279
280 <varlistentry id="libcrypto">
281 <term><filename class="libraryfile">libcrypto.{so,a}</filename></term>
282 <listitem>
283 <para>
284 implements a wide range of cryptographic algorithms used in various
285 Internet standards. The services provided by this library are used
286 by the <application>OpenSSL</application> implementations of SSL,
287 TLS and S/MIME, and they have also been used to implement
288 <application>OpenSSH</application>,
289 <application>OpenPGP</application>, and other cryptographic
290 standards.
291 </para>
292 <indexterm zone="openssl libcrypto">
293 <primary sortas="c-libcrypto">libcrypto.{so,a}</primary>
294 </indexterm>
295 </listitem>
296 </varlistentry>
297
298 <varlistentry id="libssl">
299 <term><filename class="libraryfile">libssl.{so,a}</filename></term>
300 <listitem>
301 <para>
302 implements the Transport Layer Security (TLS v1) protocol.
303 It provides a rich API, documentation
304 on which can be found by running <command>man 3 ssl</command>.
305 </para>
306 <indexterm zone="openssl libssl">
307 <primary sortas="c-libssl">libssl.{so,a}</primary>
308 </indexterm>
309 </listitem>
310 </varlistentry>
311
312 </variablelist>
313
314 </sect2>
315
316</sect1>
Note: See TracBrowser for help on using the repository browser.