Update to systemd-243. BLFS portion coming whenever utility power is restored here.
[linux_from_scratch.git] / BOOK / chapter06 / openssl.xml
blob941a6ae8d5e1017eae107663ca2026adf3a02ec4
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 ]>
8 <sect1 id="ch-system-openssl" role="wrap">
9   <?dbhtml filename="openssl.html"?>
11   <sect1info condition="script">
12     <productname>openssl</productname>
13     <productnumber>&openssl-version;</productnumber>
14     <address>&openssl-url;</address>
15   </sect1info>
17   <title>OpenSSL-&openssl-version;</title>
19   <indexterm zone="ch-system-openssl">
20     <primary sortas="a-OpenSSL">OpenSSL</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The OpenSSL package contains  management tools and libraries relating
27     to cryptography. These are useful for providing cryptographic functions
28     to other packages, such as OpenSSH, email applications and web browsers
29     (for accessing HTTPS sites).  </para>
31     <segmentedlist>
32       <segtitle>&buildtime;</segtitle>
33       <segtitle>&diskspace;</segtitle>
35       <seglistitem>
36         <seg>&openssl-ch6-sbu;</seg>
37         <seg>&openssl-ch6-du;</seg>
38       </seglistitem>
39     </segmentedlist>
41   </sect2>
43   <sect2 role="installation">
44     <title>Installation of OpenSSL</title>
45 <!--
46     <para>First, fix a problem identified upstream:</para>
48 <screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n    memset(\&amp;data, 0, sizeof(data));/' \
49   crypto/rand/rand_lib.c</userinput></screen>
50 -->
51     <para>Prepare OpenSSL for compilation:</para>
53 <screen><userinput remap="configure">./config --prefix=/usr         \
54          --openssldir=/etc/ssl \
55          --libdir=lib          \
56          shared                \
57          zlib-dynamic</userinput></screen>
59     <para>Compile the package:</para>
61 <screen><userinput remap="make">make</userinput></screen>
63     <para>To test the results, issue:</para>
65 <screen><userinput remap="test">make test</userinput></screen>
67     <para>One subtest in the test 20-test_enc.t is known to fail.</para>
69     <para>Install the package:</para>
71 <screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
72 make MANSUFFIX=ssl install</userinput></screen>
74     <para>If desired, install the documentation:</para>
76 <screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
77 cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
79   </sect2>
81   <sect2 id="contents-openssl" role="content">
82     <title>Contents of OpenSSL</title>
84     <segmentedlist>
85       <segtitle>Installed programs</segtitle>
86       <segtitle>Installed libraries</segtitle>
87       <segtitle>Installed directories</segtitle>
89       <seglistitem>
90         <seg>
91           c_rehash and openssl
92         </seg>
93         <seg>
94           libcrypto.{so,a} and libssl.{so,a}
95         </seg>
96         <seg>
97           /etc/ssl,
98           /usr/include/openssl,
99           /usr/lib/engines and
100           /usr/share/doc/openssl-&openssl-version;
101         </seg>
102       </seglistitem>
103     </segmentedlist>
105     <variablelist>
106       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
107       <?dbfo list-presentation="list"?>
108       <?dbhtml list-presentation="table"?>
110       <varlistentry id="c_rehash">
111         <term><command>c_rehash</command></term>
112         <listitem>
113           <para>
114             is a <application>Perl</application> script that scans all files in
115             a directory and adds symbolic links to their hash values.
116           </para>
117           <indexterm zone="ch-system-openssl c_rehash">
118             <primary sortas="b-c_rehash">c_rehash</primary>
119           </indexterm>
120         </listitem>
121       </varlistentry>
123       <varlistentry id="openssl-prog">
124         <term><command>openssl</command></term>
125         <listitem>
126           <para>
127             is a command-line tool for using the various cryptography functions
128             of <application>OpenSSL</application>'s crypto library from the
129             shell. It can be used for various functions which are documented in
130             <command>man 1 openssl</command>.
131           </para>
132           <indexterm zone="ch-system-openssl openssl-prog">
133             <primary sortas="b-openssl">openssl</primary>
134           </indexterm>
135         </listitem>
136       </varlistentry>
138       <varlistentry id="libcrypto">
139         <term><filename class="libraryfile">libcrypto.so</filename></term>
140         <listitem>
141           <para>
142             implements a wide range of cryptographic algorithms used in various
143             Internet standards. The services provided by  this library are used
144             by the <application>OpenSSL</application> implementations of SSL,
145             TLS and S/MIME, and they have also been used to implement
146             <application>OpenSSH</application>,
147             <application>OpenPGP</application>, and other cryptographic
148             standards.
149           </para>
150           <indexterm zone="ch-system-openssl libcrypto">
151             <primary sortas="c-libcrypto">libcrypto.so</primary>
152           </indexterm>
153         </listitem>
154       </varlistentry>
156       <varlistentry id="libssl">
157         <term><filename class="libraryfile">libssl.so</filename></term>
158         <listitem>
159           <para>
160             implements the Transport Layer Security (TLS v1) protocol.
161             It provides a rich API, documentation
162             on which can be found by running <command>man 3 ssl</command>.
163           </para>
164           <indexterm zone="ch-system-openssl libssl">
165             <primary sortas="c-libssl">libssl.so</primary>
166           </indexterm>
167         </listitem>
168       </varlistentry>
170     </variablelist>
172   </sect2>
174 </sect1>