source: postlfs/security/openssl.xml@ f080ae0e

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

Merge to trunk r17352

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

  • Property mode set to 100644
File size: 10.0 KB
RevLine 
[52d29f7]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[52d29f7]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[bbdb0d16]7 <!ENTITY openssl-download-http
[cbc3f97]8 "https://openssl.org/source/openssl-&openssl-version;.tar.gz">
[bbdb0d16]9 <!ENTITY openssl-download-ftp
[cbc3f97]10 "ftp://openssl.org/source/openssl-&openssl-version;.tar.gz">
[f080ae0e]11 <!ENTITY openssl-md5sum "9392e65072ce4b614c1392eefc1f23d0">
12 <!ENTITY openssl-size "5.0 MB">
13 <!ENTITY openssl-buildsize "51 MB (with tests)">
14 <!ENTITY openssl-time "1.6 SBU (with tests)">
[52d29f7]15]>
16
[cef3a2f]17<sect1 id="openssl" xreflabel="OpenSSL-&openssl-version;">
[5a5bbbf]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
[bbdb0d16]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
[8d284f50]38 <application>OpenSSH</application>, email applications, and web browsers
[bbdb0d16]39 (for accessing HTTPS sites).
40 </para>
[5a5bbbf]41
[8d284f50]42 &lfs79_checked;
[aafcfb8]43
[5a5bbbf]44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
[bbdb0d16]47 <para>
48 Download (HTTP): <ulink url="&openssl-download-http;"/>
49 </para>
[5a5bbbf]50 </listitem>
51 <listitem>
[bbdb0d16]52 <para>
53 Download (FTP): <ulink url="&openssl-download-ftp;"/>
54 </para>
[5a5bbbf]55 </listitem>
56 <listitem>
[bbdb0d16]57 <para>
58 Download MD5 sum: &openssl-md5sum;
59 </para>
[5a5bbbf]60 </listitem>
61 <listitem>
[bbdb0d16]62 <para>
63 Download size: &openssl-size;
64 </para>
[5a5bbbf]65 </listitem>
66 <listitem>
[bbdb0d16]67 <para>
68 Estimated disk space required: &openssl-buildsize;
69 </para>
[5a5bbbf]70 </listitem>
71 <listitem>
[bbdb0d16]72 <para>
73 Estimated build time: &openssl-time;
74 </para>
[5a5bbbf]75 </listitem>
76 </itemizedlist>
[8d284f50]77
[cbc3f97]78<!--
79 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
[4c39aff]80 <itemizedlist spacing="compact">
[5a5bbbf]81 <listitem>
[bbdb0d16]82 <para>
[4f746dd]83 Required patch:
[d6b6ecb]84 <ulink url="&patch-root;/openssl-&openssl-version;-fix_parallel_build-1.patch"/>
[4f746dd]85 </para>
86 </listitem>
[cbc3f97]87 </itemizedlist>
88-->
[8d284f50]89
[5a5bbbf]90 <bridgehead renderas="sect3">OpenSSL Dependencies</bridgehead>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
[bbdb0d16]93 <para role="optional">
[4c39aff]94 <xref linkend="mitkrb"/>
[bbdb0d16]95 </para>
[5a5bbbf]96
[bbdb0d16]97 <para condition="html" role="usernotes">
98 User Notes: <ulink url='&blfs-wiki;/OpenSSL'/>
99 </para>
[5a5bbbf]100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of OpenSSL</title>
104
[bbdb0d16]105 <para>
[d5d39eb]106 Install <application>OpenSSL</application> with the following commands:
[bbdb0d16]107 </para>
[5a5bbbf]108
[f82ac3f]109<!-- libdir=lib so it doesn't write over /usr/lib64 symlink on 64 bit system.
110 Might break packaging. -->
111
[cbc3f97]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;-->
[8d284f50]116
[0870572]117<screen><userinput>./config --prefix=/usr \
[c96921c]118 --openssldir=/etc/ssl \
[202d18d]119 --libdir=lib \
[c96921c]120 shared \
121 zlib-dynamic &amp;&amp;
[54aaa89]122make depend &amp;&amp;
[a181baeb]123make</userinput></screen>
124
[bbdb0d16]125 <para>
[5c22cb01]126 To test the results, issue: <command>make -j1 test</command>. The
127 test suite does not support parallel jobs.
[bbdb0d16]128 </para>
129
130 <para>
131 If you want to disable installing the static libraries, use this sed:
132 </para>
[5a5bbbf]133
[bbdb0d16]134<screen><userinput>sed -i 's# libcrypto.a##;s# libssl.a##' Makefile</userinput></screen>
135
136 <para>
137 Now, as the <systemitem class="username">root</systemitem> user:
138 </para>
[5a5bbbf]139
[1faedf0]140<!-- dev note: make INSTALL_PREFIX=<DESTDIR> MANDIR=/usr/share/man MANSUFFIX=ssl install -->
141
[25a105fe]142<screen role="root"><userinput>make MANDIR=/usr/share/man MANSUFFIX=ssl install &amp;&amp;
[cbc3f97]143install -dv -m755 /usr/share/doc/openssl-&openssl-version; &amp;&amp;
144cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
[4c39aff]145
[5a5bbbf]146 </sect2>
147
148 <sect2 role="commands">
149 <title>Command Explanations</title>
150
[bbdb0d16]151 <para>
152 <parameter>shared</parameter>: This parameter forces the creation of
153 shared libraries along with the static libraries.
154 </para>
155
156 <para>
157 <parameter>zlib-dynamic</parameter>: This parameter adds
158 compression/decompression functionality using the
159 <filename class="libraryfile">libz</filename> library.
160 </para>
161
162 <para>
163 <option>no-rc5 no-idea</option>: When added to the
164 <command>./config</command> command, this will eliminate the building
165 of those encryption methods. Patent licenses may be needed for you to
166 utilize either of those methods in your projects.
167 </para>
168
169 <para>
[d6b6ecb]170 <command>make MANDIR=/usr/share/man MANSUFFIX=ssl install</command>:
171 This command installs <application>OpenSSL</application> with the man
172 pages in <filename class="directory">/usr/share/man</filename>
173 instead of <filename class="directory">/etc/ssl/man</filename> and
174 appends "ssl" suffix to the manual page names to avoid conflicts with
175 manual pages installed by other packages.
[bbdb0d16]176 </para>
[4c39aff]177
[5a5bbbf]178 </sect2>
179
180 <sect2 role="configuration">
181 <title>Configuring OpenSSL</title>
182
183 <sect3 id="openssl-config">
184 <title>Config Files</title>
185
[bbdb0d16]186 <para>
[d5d39eb]187 <filename>/etc/ssl/openssl.cnf</filename>
[bbdb0d16]188 </para>
[5a5bbbf]189
190 <indexterm zone="openssl openssl-config">
191 <primary sortas="e-etc-ssl-openssl.cnf">/etc/ssl/openssl.cnf</primary>
192 </indexterm>
[4c39aff]193
[5a5bbbf]194 </sect3>
[d5d39eb]195
[5a5bbbf]196 <sect3>
197 <title>Configuration Information</title>
198
[bbdb0d16]199 <para>
200 Most users will want to install Certificate Authority Certificates
[5f91dfd]201 for validation of downloaded certificates. For example, these
[d5d39eb]202 certificates can be used by <xref linkend='git'/>,
[8d284f50]203 <xref linkend='curl'/>, or <xref linkend='wget'/> when accessing secure
[d5d39eb]204 (https protocol) sites. To do this, follow the instructions from the
205 <xref linkend='cacerts'/> page.
[0d7900a]206 </para>
[bbdb0d16]207
208 <para>
209 Users who just want to use <application>OpenSSL</application> for
210 providing functions to other programs such as
211 <application>OpenSSH</application> and web browsers do not need to worry
[8d284f50]212 about additional configuration. This is an advanced topic and those
[bbdb0d16]213 who do need it would normally be expected to either know how to properly
214 update <filename>/etc/ssl/openssl.cnf</filename> or be able to find out
215 how to do it.
216 </para>
[4c39aff]217
[5a5bbbf]218 </sect3>
[4c39aff]219
[5a5bbbf]220 </sect2>
221
222 <sect2 role="content">
223 <title>Contents</title>
224
225 <segmentedlist>
226 <segtitle>Installed Programs</segtitle>
227 <segtitle>Installed Libraries</segtitle>
228 <segtitle>Installed Directories</segtitle>
229
230 <seglistitem>
[bbdb0d16]231 <seg>
[295ca00]232 c_rehash
233 and openssl
[d5d39eb]234 </seg>
235 <seg>
[295ca00]236 libcrypto.{so,a}
237 and libssl.{so,a}
[4c39aff]238 </seg>
239 <seg>
240 /etc/ssl,
241 /usr/include/openssl,
242 /usr/lib/engines and
243 /usr/share/doc/openssl-&openssl-version;
[bbdb0d16]244 </seg>
[5a5bbbf]245 </seglistitem>
246 </segmentedlist>
247
248 <variablelist>
249 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
250 <?dbfo list-presentation="list"?>
251 <?dbhtml list-presentation="table"?>
252
253 <varlistentry id="c_rehash">
254 <term><command>c_rehash</command></term>
255 <listitem>
[bbdb0d16]256 <para>
257 is a <application>Perl</application> script that scans all files in
258 a directory and adds symbolic links to their hash values.
259 </para>
[5a5bbbf]260 <indexterm zone="openssl c_rehash">
261 <primary sortas="b-c_rehash">c_rehash</primary>
262 </indexterm>
263 </listitem>
264 </varlistentry>
265
266 <varlistentry id="openssl-prog">
267 <term><command>openssl</command></term>
268 <listitem>
[bbdb0d16]269 <para>
270 is a command-line tool for using the various cryptography functions
271 of <application>OpenSSL</application>'s crypto library from the
272 shell. It can be used for various functions which are documented in
273 <command>man 1 openssl</command>.
274 </para>
[5a5bbbf]275 <indexterm zone="openssl openssl-prog">
276 <primary sortas="b-openssl">openssl</primary>
277 </indexterm>
278 </listitem>
279 </varlistentry>
280
281 <varlistentry id="libcrypto">
[4c39aff]282 <term><filename class="libraryfile">libcrypto.{so,a}</filename></term>
[5a5bbbf]283 <listitem>
[bbdb0d16]284 <para>
285 implements a wide range of cryptographic algorithms used in various
286 Internet standards. The services provided by this library are used
287 by the <application>OpenSSL</application> implementations of SSL,
288 TLS and S/MIME, and they have also been used to implement
289 <application>OpenSSH</application>,
290 <application>OpenPGP</application>, and other cryptographic
291 standards.
292 </para>
[5a5bbbf]293 <indexterm zone="openssl libcrypto">
[3597eb6]294 <primary sortas="c-libcrypto">libcrypto.{so,a}</primary>
[5a5bbbf]295 </indexterm>
296 </listitem>
297 </varlistentry>
298
299 <varlistentry id="libssl">
[4c39aff]300 <term><filename class="libraryfile">libssl.{so,a}</filename></term>
[5a5bbbf]301 <listitem>
[bbdb0d16]302 <para>
[8964c2f]303 implements the Transport Layer Security (TLS v1) protocol.
304 It provides a rich API, documentation
[bbdb0d16]305 on which can be found by running <command>man 3 ssl</command>.
306 </para>
[5a5bbbf]307 <indexterm zone="openssl libssl">
[3597eb6]308 <primary sortas="c-libssl">libssl.{so,a}</primary>
[5a5bbbf]309 </indexterm>
310 </listitem>
311 </varlistentry>
[4c39aff]312
[5a5bbbf]313 </variablelist>
[4c39aff]314
[5a5bbbf]315 </sect2>
[4c39aff]316
[f45b1953]317</sect1>
Note: See TracBrowser for help on using the repository browser.