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