Home | History | Annotate | Line # | Download | only in man7
      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://github.com/openssl/openssl/wiki/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-server-block(7)>: Writing a simple blocking QUIC server
     89 
     90 =item L<ossl-guide-quic-multi-stream(7)>: Writing a simple multi-stream QUIC client
     91 
     92 =item L<ossl-guide-quic-server-non-block(7)>: Writing a simple nonblocking QUIC server
     93 
     94 =item L<ossl-guide-quic-client-non-block(7)>: Writing a simple nonblocking QUIC client
     95 
     96 =item L<ossl-guide-migration(7)>: Migrating from older OpenSSL versions
     97 
     98 =back
     99 
    100 =head1 COPYRIGHT
    101 
    102 Copyright 2023-2025 The OpenSSL Project Authors. All Rights Reserved.
    103 
    104 Licensed under the Apache License 2.0 (the "License").  You may not use
    105 this file except in compliance with the License.  You can obtain a copy
    106 in the file LICENSE in the source distribution or at
    107 L<https://www.openssl.org/source/license.html>.
    108 
    109 =cut
    110