| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- .\" -*- mode: troff; coding: utf-8 -*-
- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
- .\"
- .\" Standard preamble:
- .\" ========================================================================
- .de Sp \" Vertical space (when we can't use .PP)
- .if t .sp .5v
- .if n .sp
- ..
- .de Vb \" Begin verbatim text
- .ft CW
- .nf
- .ne \\$1
- ..
- .de Ve \" End verbatim text
- .ft R
- .fi
- ..
- .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
- .ie n \{\
- . ds C` ""
- . ds C' ""
- 'br\}
- .el\{\
- . ds C`
- . ds C'
- 'br\}
- .\"
- .\" Escape single quotes in literal strings from groff's Unicode transform.
- .ie \n(.g .ds Aq \(aq
- .el .ds Aq '
- .\"
- .\" If the F register is >0, we'll generate index entries on stderr for
- .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
- .\" entries marked with X<> in POD. Of course, you'll have to process the
- .\" output yourself in some meaningful fashion.
- .\"
- .\" Avoid warning from groff about undefined register 'F'.
- .de IX
- ..
- .nr rF 0
- .if \n(.g .if rF .nr rF 1
- .if (\n(rF:(\n(.g==0)) \{\
- . if \nF \{\
- . de IX
- . tm Index:\\$1\t\\n%\t"\\$2"
- ..
- . if !\nF==2 \{\
- . nr % 0
- . nr F 2
- . \}
- . \}
- .\}
- .rr rF
- .\" ========================================================================
- .\"
- .IX Title "OSSL-GUIDE-INTRODUCTION 7ossl"
- .TH OSSL-GUIDE-INTRODUCTION 7ossl 2025-01-17 3.4.0 OpenSSL
- .\" For nroff, turn off justification. Always turn off hyphenation; it makes
- .\" way too many mistakes in technical documents.
- .if n .ad l
- .nh
- .SH NAME
- ossl\-guide\-introduction
- \&\- OpenSSL Guide: An introduction to OpenSSL
- .SH "WHAT IS OPENSSL?"
- .IX Header "WHAT IS OPENSSL?"
- OpenSSL is a robust, commercial-grade, full-featured toolkit for general-purpose
- cryptography and secure communication. Its features are made available via a
- command line application that enables users to perform various cryptography
- related functions such as generating keys and certificates. Additionally it
- supplies two libraries that application developers can use to implement
- cryptography based capabilities and to securely communicate across a network.
- Finally, it also has a set of providers that supply implementations of a broad
- set of cryptographic algorithms.
- .PP
- OpenSSL is fully open source. Version 3.0 and above are distributed under the
- Apache v2 license.
- .SH "GETTING AND INSTALLING OPENSSL"
- .IX Header "GETTING AND INSTALLING OPENSSL"
- The OpenSSL Project develops and distributes the source code for OpenSSL. You
- can obtain that source code via the OpenSSL website
- (<https://www.openssl.org/source>).
- .PP
- Many Operating Systems (notably Linux distributions) supply pre-built OpenSSL
- binaries either pre-installed or available via the package management system in
- use for that OS. It is worth checking whether this applies to you before
- attempting to build OpenSSL from the source code.
- .PP
- Some third parties also supply OpenSSL binaries (e.g. for Windows and some other
- platforms). The OpenSSL project maintains a list of these third parties at
- <https://wiki.openssl.org/index.php/Binaries>.
- .PP
- If you build and install OpenSSL from the source code then you should download
- the appropriate files for the version that you want to use from the link given
- above. Extract the contents of the \fBtar.gz\fR archive file that you downloaded
- into an appropriate directory. Inside that archive you will find a file named
- \&\fBINSTALL.md\fR which will supply detailed instructions on how to build and
- install OpenSSL from source. Make sure you read the contents of that file
- carefully in order to achieve a successful build. In the directory you will also
- find a set of \fBNOTES\fR files that provide further platform specific information.
- Make sure you carefully read the file appropriate to your platform. As well as
- the platform specific \fBNOTES\fR files there is also a \fBNOTES\-PERL.md\fR file that
- provides information about setting up Perl for use by the OpenSSL build system
- across multiple platforms.
- .PP
- Sometimes you may want to build and install OpenSSL from source on a system
- which already has a pre-built version of OpenSSL installed on it via the
- Operating System package management system (for example if you want to use a
- newer version of OpenSSL than the one supplied by your Operating System). In
- this case it is strongly recommended to install OpenSSL to a different location
- than where the pre-built version is installed. You should \fBnever\fR replace the
- pre-built version with a different version as this may break your system.
- .SH "CONTENTS OF THE OPENSSL GUIDE"
- .IX Header "CONTENTS OF THE OPENSSL GUIDE"
- The OpenSSL Guide is a series of documentation pages (starting with this one)
- that introduce some of the main concepts in OpenSSL. The guide can either be
- read end-to-end in order, or alternatively you can simply skip to the parts most
- applicable to your use case. Note however that later pages may depend on and
- assume knowledge from earlier pages.
- .PP
- The pages in the guide are as follows:
- .IP "\fBossl\-guide\-libraries\-introduction\fR\|(7): An introduction to the OpenSSL libraries" 4
- .IX Item "ossl-guide-libraries-introduction: An introduction to the OpenSSL libraries"
- .PD 0
- .IP "\fBossl\-guide\-libcrypto\-introduction\fR\|(7): An introduction to libcrypto" 4
- .IX Item "ossl-guide-libcrypto-introduction: An introduction to libcrypto"
- .IP "\fBossl\-guide\-libssl\-introduction\fR\|(7): An introduction to libssl" 4
- .IX Item "ossl-guide-libssl-introduction: An introduction to libssl"
- .IP "\fBossl\-guide\-tls\-introduction\fR\|(7): An introduction to SSL/TLS in OpenSSL" 4
- .IX Item "ossl-guide-tls-introduction: An introduction to SSL/TLS in OpenSSL"
- .IP "\fBossl\-guide\-tls\-client\-block\fR\|(7): Writing a simple blocking TLS client" 4
- .IX Item "ossl-guide-tls-client-block: Writing a simple blocking TLS client"
- .IP "\fBossl\-guide\-tls\-client\-non\-block\fR\|(7): Writing a simple nonblocking TLS client" 4
- .IX Item "ossl-guide-tls-client-non-block: Writing a simple nonblocking TLS client"
- .IP "\fBossl\-guide\-tls\-server\-block\fR\|(7): Writing a simple blocking TLS server" 4
- .IX Item "ossl-guide-tls-server-block: Writing a simple blocking TLS server"
- .IP "\fBossl\-guide\-quic\-introduction\fR\|(7): An introduction to QUIC in OpenSSL" 4
- .IX Item "ossl-guide-quic-introduction: An introduction to QUIC in OpenSSL"
- .IP "\fBossl\-guide\-quic\-client\-block\fR\|(7): Writing a simple blocking QUIC client" 4
- .IX Item "ossl-guide-quic-client-block: Writing a simple blocking QUIC client"
- .IP "\fBossl\-guide\-quic\-multi\-stream\fR\|(7): Writing a simple multi-stream QUIC client" 4
- .IX Item "ossl-guide-quic-multi-stream: Writing a simple multi-stream QUIC client"
- .IP "\fBossl\-guide\-quic\-client\-non\-block\fR\|(7): Writing a simple nonblocking QUIC client" 4
- .IX Item "ossl-guide-quic-client-non-block: Writing a simple nonblocking QUIC client"
- .IP "\fBossl\-guide\-migration\fR\|(7): Migrating from older OpenSSL versions" 4
- .IX Item "ossl-guide-migration: Migrating from older OpenSSL versions"
- .PD
- .SH COPYRIGHT
- .IX Header "COPYRIGHT"
- Copyright 2023\-2024 The OpenSSL Project Authors. All Rights Reserved.
- .PP
- Licensed under the Apache License 2.0 (the "License"). You may not use
- this file except in compliance with the License. You can obtain a copy
- in the file LICENSE in the source distribution or at
- <https://www.openssl.org/source/license.html>.
|