remove an old note for file
[linux_from_scratch.git] / BOOK / chapter08 / openssl.xml
blob934d5bd835a0657fe3ab77d20889a90ddfdc30a4
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-fin-sbu;</seg>
37         <seg>&openssl-fin-du;</seg>
38       </seglistitem>
39     </segmentedlist>
41   </sect2>
43   <sect2 role="installation">
44     <title>Installation of OpenSSL</title>
46     <para>Prepare OpenSSL for compilation:</para>
48 <screen><userinput remap="configure">./config --prefix=/usr         \
49          --openssldir=/etc/ssl \
50          --libdir=lib          \
51          shared                \
52          zlib-dynamic</userinput></screen>
54     <para>Compile the package:</para>
56 <screen><userinput remap="make">make</userinput></screen>
58     <para>To test the results, issue:</para>
60 <screen><userinput remap="test">make test</userinput></screen>
62     <para>One test 30-test_afalg.t is known to fail on some kernel
63     configurations (it apparently assumes certain unspecified crypto
64     options have been selected).</para>
66     <para>Install the package:</para>
68 <screen><userinput remap="install">sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
69 make MANSUFFIX=ssl install</userinput></screen>
71     <para>Add the version to the documentation directory name, to be
72     consistent with other packages:</para>
74 <screen><userinput remap="install">mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;</userinput></screen>
76     <para>If desired, install some additional documentation:</para>
78 <screen><userinput remap="install">cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;</userinput></screen>
80   </sect2>
82   <sect2 id="contents-openssl" role="content">
83     <title>Contents of OpenSSL</title>
85     <segmentedlist>
86       <segtitle>Installed programs</segtitle>
87       <segtitle>Installed libraries</segtitle>
88       <segtitle>Installed directories</segtitle>
90       <seglistitem>
91         <seg>
92           c_rehash and openssl
93         </seg>
94         <seg>
95           libcrypto.so and libssl.so
96         </seg>
97         <seg>
98           /etc/ssl,
99           /usr/include/openssl,
100           /usr/lib/engines and
101           /usr/share/doc/openssl-&openssl-version;
102         </seg>
103       </seglistitem>
104     </segmentedlist>
106     <variablelist>
107       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
108       <?dbfo list-presentation="list"?>
109       <?dbhtml list-presentation="table"?>
111       <varlistentry id="c_rehash">
112         <term><command>c_rehash</command></term>
113         <listitem>
114           <para>
115             is a <application>Perl</application> script that scans all files in
116             a directory and adds symbolic links to their hash values
117           </para>
118           <indexterm zone="ch-system-openssl c_rehash">
119             <primary sortas="b-c_rehash">c_rehash</primary>
120           </indexterm>
121         </listitem>
122       </varlistentry>
124       <varlistentry id="openssl-prog">
125         <term><command>openssl</command></term>
126         <listitem>
127           <para>
128             is a command-line tool for using the various cryptography functions
129             of <application>OpenSSL</application>'s crypto library from the
130             shell. It can be used for various functions which are documented in
131             <command>man 1 openssl</command>
132           </para>
133           <indexterm zone="ch-system-openssl openssl-prog">
134             <primary sortas="b-openssl">openssl</primary>
135           </indexterm>
136         </listitem>
137       </varlistentry>
139       <varlistentry id="libcrypto">
140         <term><filename class="libraryfile">libcrypto.so</filename></term>
141         <listitem>
142           <para>
143             implements a wide range of cryptographic algorithms used in various
144             Internet standards. The services provided by  this library are used
145             by the <application>OpenSSL</application> implementations of SSL,
146             TLS and S/MIME, and they have also been used to implement
147             <application>OpenSSH</application>,
148             <application>OpenPGP</application>, and other cryptographic
149             standards
150           </para>
151           <indexterm zone="ch-system-openssl libcrypto">
152             <primary sortas="c-libcrypto">libcrypto.so</primary>
153           </indexterm>
154         </listitem>
155       </varlistentry>
157       <varlistentry id="libssl">
158         <term><filename class="libraryfile">libssl.so</filename></term>
159         <listitem>
160           <para>
161             implements the Transport Layer Security (TLS v1) protocol.
162             It provides a rich API, documentation
163             on which can be found by running <command>man 3 ssl</command>
164           </para>
165           <indexterm zone="ch-system-openssl libssl">
166             <primary sortas="c-libssl">libssl.so</primary>
167           </indexterm>
168         </listitem>
169       </varlistentry>
171     </variablelist>
173   </sect2>
175 </sect1>