ossl-guide-introduction.pod 4.5 KB

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