1 | =pod
|
---|
2 |
|
---|
3 | =head1 NAME
|
---|
4 |
|
---|
5 | ossl-guide-introduction
|
---|
6 | - OpenSSL Guide: An introduction to OpenSSL
|
---|
7 |
|
---|
8 | =head1 WHAT IS OPENSSL?
|
---|
9 |
|
---|
10 | OpenSSL is a robust, commercial-grade, full-featured toolkit for general-purpose
|
---|
11 | cryptography and secure communication. Its features are made available via a
|
---|
12 | command line application that enables users to perform various cryptography
|
---|
13 | related functions such as generating keys and certificates. Additionally it
|
---|
14 | supplies two libraries that application developers can use to implement
|
---|
15 | cryptography based capabilities and to securely communicate across a network.
|
---|
16 | Finally, it also has a set of providers that supply implementations of a broad
|
---|
17 | set of cryptographic algorithms.
|
---|
18 |
|
---|
19 | OpenSSL is fully open source. Version 3.0 and above are distributed under the
|
---|
20 | Apache v2 license.
|
---|
21 |
|
---|
22 | =head1 GETTING AND INSTALLING OPENSSL
|
---|
23 |
|
---|
24 | The OpenSSL Project develops and distributes the source code for OpenSSL. You
|
---|
25 | can obtain that source code via the OpenSSL website
|
---|
26 | (L<https://www.openssl.org/source>).
|
---|
27 |
|
---|
28 | Many Operating Systems (notably Linux distributions) supply pre-built OpenSSL
|
---|
29 | binaries either pre-installed or available via the package management system in
|
---|
30 | use for that OS. It is worth checking whether this applies to you before
|
---|
31 | attempting to build OpenSSL from the source code.
|
---|
32 |
|
---|
33 | Some third parties also supply OpenSSL binaries (e.g. for Windows and some other
|
---|
34 | platforms). The OpenSSL project maintains a list of these third parties at
|
---|
35 | L<https://wiki.openssl.org/index.php/Binaries>.
|
---|
36 |
|
---|
37 | If you build and install OpenSSL from the source code then you should download
|
---|
38 | the appropriate files for the version that you want to use from the link given
|
---|
39 | above. Extract the contents of the B<tar.gz> archive file that you downloaded
|
---|
40 | into an appropriate directory. Inside that archive you will find a file named
|
---|
41 | B<INSTALL.md> which will supply detailed instructions on how to build and
|
---|
42 | install OpenSSL from source. Make sure you read the contents of that file
|
---|
43 | carefully in order to achieve a successful build. In the directory you will also
|
---|
44 | find a set of B<NOTES> files that provide further platform specific information.
|
---|
45 | Make sure you carefully read the file appropriate to your platform. As well as
|
---|
46 | the platform specific B<NOTES> files there is also a B<NOTES-PERL.md> file that
|
---|
47 | provides information about setting up Perl for use by the OpenSSL build system
|
---|
48 | across multiple platforms.
|
---|
49 |
|
---|
50 | Sometimes you may want to build and install OpenSSL from source on a system
|
---|
51 | which already has a pre-built version of OpenSSL installed on it via the
|
---|
52 | Operating System package management system (for example if you want to use a
|
---|
53 | newer version of OpenSSL than the one supplied by your Operating System). In
|
---|
54 | this case it is strongly recommended to install OpenSSL to a different location
|
---|
55 | than where the pre-built version is installed. You should B<never> replace the
|
---|
56 | pre-built version with a different version as this may break your system.
|
---|
57 |
|
---|
58 | =head1 CONTENTS OF THE OPENSSL GUIDE
|
---|
59 |
|
---|
60 | The OpenSSL Guide is a series of documentation pages (starting with this one)
|
---|
61 | that introduce some of the main concepts in OpenSSL. The guide can either be
|
---|
62 | read end-to-end in order, or alternatively you can simply skip to the parts most
|
---|
63 | applicable to your use case. Note however that later pages may depend on and
|
---|
64 | assume knowledge from earlier pages.
|
---|
65 |
|
---|
66 | The pages in the guide are as follows:
|
---|
67 |
|
---|
68 | =over 4
|
---|
69 |
|
---|
70 | =item L<ossl-guide-libraries-introduction(7)>: An introduction to the OpenSSL libraries
|
---|
71 |
|
---|
72 | =item L<ossl-guide-libcrypto-introduction(7)>: An introduction to libcrypto
|
---|
73 |
|
---|
74 | =item L<ossl-guide-libssl-introduction(7)>: An introduction to libssl
|
---|
75 |
|
---|
76 | =item L<ossl-guide-tls-introduction(7)>: An introduction to SSL/TLS in OpenSSL
|
---|
77 |
|
---|
78 | =item L<ossl-guide-tls-client-block(7)>: Writing a simple blocking TLS client
|
---|
79 |
|
---|
80 | =item L<ossl-guide-tls-client-non-block(7)>: Writing a simple nonblocking TLS client
|
---|
81 |
|
---|
82 | =item L<ossl-guide-tls-server-block(7)>: Writing a simple blocking TLS server
|
---|
83 |
|
---|
84 | =item L<ossl-guide-quic-introduction(7)>: An introduction to QUIC in OpenSSL
|
---|
85 |
|
---|
86 | =item L<ossl-guide-quic-client-block(7)>: Writing a simple blocking QUIC client
|
---|
87 |
|
---|
88 | =item L<ossl-guide-quic-multi-stream(7)>: Writing a simple multi-stream QUIC client
|
---|
89 |
|
---|
90 | =item L<ossl-guide-quic-client-non-block(7)>: Writing a simple nonblocking QUIC client
|
---|
91 |
|
---|
92 | =item L<ossl-guide-migration(7)>: Migrating from older OpenSSL versions
|
---|
93 |
|
---|
94 | =back
|
---|
95 |
|
---|
96 | =head1 COPYRIGHT
|
---|
97 |
|
---|
98 | Copyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved.
|
---|
99 |
|
---|
100 | Licensed under the Apache License 2.0 (the "License"). You may not use
|
---|
101 | this file except in compliance with the License. You can obtain a copy
|
---|
102 | in the file LICENSE in the source distribution or at
|
---|
103 | L<https://www.openssl.org/source/license.html>.
|
---|
104 |
|
---|
105 | =cut
|
---|