Home | History | Annotate | Line # | Download | only in dist
      1      1.1  christos Welcome to the OpenSSL Project
      2      1.1  christos ==============================
      3      1.1  christos 
      4      1.1  christos [![openssl logo]][www.openssl.org]
      5      1.1  christos 
      6      1.1  christos [![github actions ci badge]][github actions ci]
      7      1.1  christos ![Nightly OS Zoo ci badge](https://github.com/openssl/openssl/actions/workflows/os-zoo.yml/badge.svg)
      8      1.1  christos ![Provider Compatibility](https://github.com/openssl/openssl/actions/workflows/provider-compatibility.yml/badge.svg)
      9      1.1  christos ![Quic Interop](https://github.com/openssl/openssl/actions/workflows/run_quic_interop.yml/badge.svg)
     10      1.1  christos ![Daily checks](https://github.com/openssl/openssl/actions/workflows/run-checker-daily.yml/badge.svg)
     11      1.1  christos 
     12      1.1  christos OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit
     13      1.1  christos for the TLS (formerly SSL), DTLS and QUIC protocols.
     14      1.1  christos 
     15      1.1  christos The protocol implementations are based on a full-strength general purpose
     16      1.1  christos cryptographic library, which can also be used stand-alone. Also included is a
     17      1.1  christos cryptographic module validated to conform with FIPS standards.
     18      1.1  christos 
     19      1.1  christos OpenSSL is descended from the SSLeay library developed by Eric A. Young
     20      1.1  christos and Tim J. Hudson.
     21      1.1  christos 
     22      1.1  christos The official Home Page of the OpenSSL Project is [www.openssl.org].
     23      1.1  christos 
     24      1.1  christos Table of Contents
     25      1.1  christos =================
     26      1.1  christos 
     27      1.1  christos  - [Overview](#overview)
     28      1.1  christos  - [Download](#download)
     29      1.1  christos  - [Build and Install](#build-and-install)
     30      1.1  christos  - [Documentation](#documentation)
     31      1.1  christos  - [License](#license)
     32      1.1  christos  - [Support](#support)
     33      1.1  christos  - [Contributing](#contributing)
     34      1.1  christos  - [Legalities](#legalities)
     35      1.1  christos 
     36      1.1  christos Overview
     37      1.1  christos ========
     38      1.1  christos 
     39      1.1  christos The OpenSSL toolkit includes:
     40      1.1  christos 
     41      1.1  christos - **libssl**
     42      1.1  christos   an implementation of all TLS protocol versions up to TLSv1.3 ([RFC 8446]),
     43      1.1  christos   DTLS protocol versions up to DTLSv1.2 ([RFC 6347]) and
     44      1.1  christos   the QUIC version 1 protocol ([RFC 9000]).
     45      1.1  christos 
     46      1.1  christos - **libcrypto**
     47      1.1  christos   a full-strength general purpose cryptographic library. It constitutes the
     48      1.1  christos   basis of the TLS implementation, but can also be used independently.
     49      1.1  christos 
     50      1.1  christos - **openssl**
     51      1.1  christos   the OpenSSL command line tool, a swiss army knife for cryptographic tasks,
     52      1.1  christos   testing and analyzing. It can be used for
     53      1.1  christos   - creation of key parameters
     54      1.1  christos   - creation of X.509 certificates, CSRs and CRLs
     55      1.1  christos   - calculation of message digests
     56      1.1  christos   - encryption and decryption
     57      1.1  christos   - SSL/TLS/DTLS and client and server tests
     58      1.1  christos   - QUIC client tests
     59      1.1  christos   - handling of S/MIME signed or encrypted mail
     60      1.1  christos   - and more...
     61      1.1  christos 
     62      1.1  christos Download
     63      1.1  christos ========
     64      1.1  christos 
     65      1.1  christos For Production Use
     66      1.1  christos ------------------
     67      1.1  christos 
     68      1.1  christos Source code tarballs of the official releases can be downloaded from
     69      1.1  christos [openssl-library.org/source/](https://openssl-library.org/source/).
     70      1.1  christos The OpenSSL project does not distribute the toolkit in binary form.
     71      1.1  christos 
     72      1.1  christos However, for a large variety of operating systems precompiled versions
     73      1.1  christos of the OpenSSL toolkit are available. In particular, on Linux and other
     74      1.1  christos Unix operating systems, it is normally recommended to link against the
     75      1.1  christos precompiled shared libraries provided by the distributor or vendor.
     76      1.1  christos 
     77      1.1  christos We also maintain a list of third parties that produce OpenSSL binaries for
     78      1.1  christos various Operating Systems (including Windows) on the [Binaries] page on our
     79      1.1  christos wiki.
     80      1.1  christos 
     81      1.1  christos For Testing and Development
     82      1.1  christos ---------------------------
     83      1.1  christos 
     84      1.1  christos Although testing and development could in theory also be done using
     85      1.1  christos the source tarballs, having a local copy of the git repository with
     86      1.1  christos the entire project history gives you much more insight into the
     87      1.1  christos code base.
     88      1.1  christos 
     89      1.1  christos The main OpenSSL Git repository is private.
     90      1.1  christos There is a public GitHub mirror of it at [github.com/openssl/openssl],
     91      1.1  christos which is updated automatically from the former on every commit.
     92      1.1  christos 
     93      1.1  christos A local copy of the Git repository can be obtained by cloning it from
     94      1.1  christos the GitHub mirror using
     95      1.1  christos 
     96      1.1  christos     git clone https://github.com/openssl/openssl.git
     97      1.1  christos 
     98      1.1  christos If you intend to contribute to OpenSSL, either to fix bugs or contribute
     99      1.1  christos new features, you need to fork the GitHub mirror and clone your public fork
    100      1.1  christos instead.
    101      1.1  christos 
    102      1.1  christos     git clone https://github.com/yourname/openssl.git
    103      1.1  christos 
    104      1.1  christos This is necessary because all development of OpenSSL nowadays is done via
    105      1.1  christos GitHub pull requests. For more details, see [Contributing](#contributing).
    106      1.1  christos 
    107      1.1  christos Build and Install
    108      1.1  christos =================
    109      1.1  christos 
    110      1.1  christos After obtaining the Source, have a look at the [INSTALL](INSTALL.md) file for
    111      1.1  christos detailed instructions about building and installing OpenSSL. For some
    112      1.1  christos platforms, the installation instructions are amended by a platform specific
    113      1.1  christos document.
    114      1.1  christos 
    115      1.1  christos  * [Notes for UNIX-like platforms](NOTES-UNIX.md)
    116      1.1  christos  * [Notes for Android platforms](NOTES-ANDROID.md)
    117      1.1  christos  * [Notes for Windows platforms](NOTES-WINDOWS.md)
    118      1.1  christos  * [Notes for the DOS platform with DJGPP](NOTES-DJGPP.md)
    119      1.1  christos  * [Notes for the OpenVMS platform](NOTES-VMS.md)
    120      1.1  christos  * [Notes on Perl](NOTES-PERL.md)
    121      1.1  christos  * [Notes on Valgrind](NOTES-VALGRIND.md)
    122      1.1  christos 
    123      1.1  christos Specific notes on upgrading to OpenSSL 3.x from previous versions can be found
    124      1.1  christos in the [ossl-guide-migration(7ossl)] manual page.
    125      1.1  christos 
    126      1.1  christos Documentation
    127      1.1  christos =============
    128      1.1  christos 
    129      1.1  christos README Files
    130      1.1  christos ------------
    131      1.1  christos 
    132      1.1  christos There are some README.md files in the top level of the source distribution
    133      1.1  christos containing additional information on specific topics.
    134      1.1  christos 
    135      1.1  christos  * [Information about the OpenSSL QUIC protocol implementation](README-QUIC.md)
    136      1.1  christos  * [Information about the OpenSSL Provider architecture](README-PROVIDERS.md)
    137      1.1  christos  * [Information about using the OpenSSL FIPS validated module](README-FIPS.md)
    138      1.1  christos  * [Information about the legacy OpenSSL Engine architecture](README-ENGINES.md)
    139      1.1  christos 
    140      1.1  christos The OpenSSL Guide
    141      1.1  christos -----------------
    142      1.1  christos 
    143      1.1  christos There are some tutorial and introductory pages on some important OpenSSL topics
    144      1.1  christos within the [OpenSSL Guide].
    145      1.1  christos 
    146      1.1  christos Manual Pages
    147      1.1  christos ------------
    148      1.1  christos 
    149      1.1  christos The manual pages for the master branch and all current stable releases are
    150      1.1  christos available online.
    151      1.1  christos 
    152      1.1  christos - [OpenSSL master](https://www.openssl.org/docs/manmaster)
    153      1.1  christos - [OpenSSL 3.0](https://www.openssl.org/docs/man3.0)
    154      1.1  christos - [OpenSSL 3.1](https://www.openssl.org/docs/man3.1)
    155      1.1  christos - [OpenSSL 3.2](https://www.openssl.org/docs/man3.2)
    156      1.1  christos 
    157      1.1  christos Demos
    158      1.1  christos -----
    159      1.1  christos 
    160      1.1  christos There are numerous source code demos for using various OpenSSL capabilities in the
    161      1.1  christos [demos subfolder](./demos).
    162      1.1  christos 
    163      1.1  christos Wiki
    164      1.1  christos ----
    165      1.1  christos 
    166      1.1  christos There is a [GitHub Wiki] which is currently not very active.
    167      1.1  christos 
    168      1.1  christos License
    169      1.1  christos =======
    170      1.1  christos 
    171      1.1  christos OpenSSL is licensed under the Apache License 2.0, which means that
    172      1.1  christos you are free to get and use it for commercial and non-commercial
    173      1.1  christos purposes as long as you fulfill its conditions.
    174      1.1  christos 
    175      1.1  christos See the [LICENSE.txt](LICENSE.txt) file for more details.
    176      1.1  christos 
    177      1.1  christos Support
    178      1.1  christos =======
    179      1.1  christos 
    180      1.1  christos There are various ways to get in touch. The correct channel depends on
    181      1.1  christos your requirement. See the [SUPPORT](SUPPORT.md) file for more details.
    182      1.1  christos 
    183      1.1  christos Contributing
    184      1.1  christos ============
    185      1.1  christos 
    186      1.1  christos If you are interested and willing to contribute to the OpenSSL project,
    187      1.1  christos please take a look at the [CONTRIBUTING](CONTRIBUTING.md) file.
    188      1.1  christos 
    189      1.1  christos Legalities
    190      1.1  christos ==========
    191      1.1  christos 
    192      1.1  christos A number of nations restrict the use or export of cryptography. If you are
    193      1.1  christos potentially subject to such restrictions, you should seek legal advice before
    194      1.1  christos attempting to develop or distribute cryptographic code.
    195      1.1  christos 
    196      1.1  christos Copyright
    197      1.1  christos =========
    198      1.1  christos 
    199  1.1.1.2  christos Copyright (c) 1998-2026 The OpenSSL Project Authors
    200      1.1  christos 
    201      1.1  christos Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
    202      1.1  christos 
    203      1.1  christos All rights reserved.
    204      1.1  christos 
    205      1.1  christos <!-- Links  -->
    206      1.1  christos 
    207      1.1  christos [www.openssl.org]:
    208      1.1  christos     <https://www.openssl.org>
    209      1.1  christos     "OpenSSL Homepage"
    210      1.1  christos 
    211      1.1  christos [github.com/openssl/openssl]:
    212      1.1  christos     <https://github.com/openssl/openssl>
    213      1.1  christos     "OpenSSL GitHub Mirror"
    214      1.1  christos 
    215      1.1  christos [GitHub Wiki]:
    216      1.1  christos     <https://github.com/openssl/openssl/wiki>
    217      1.1  christos     "OpenSSL Wiki"
    218      1.1  christos 
    219      1.1  christos [ossl-guide-migration(7ossl)]:
    220      1.1  christos     <https://www.openssl.org/docs/manmaster/man7/ossl-guide-migration.html>
    221      1.1  christos     "OpenSSL Migration Guide"
    222      1.1  christos 
    223      1.1  christos [RFC 8446]:
    224      1.1  christos      <https://tools.ietf.org/html/rfc8446>
    225      1.1  christos 
    226      1.1  christos [RFC 6347]:
    227      1.1  christos      <https://tools.ietf.org/html/rfc6347>
    228      1.1  christos 
    229      1.1  christos [RFC 9000]:
    230      1.1  christos      <https://tools.ietf.org/html/rfc9000>
    231      1.1  christos 
    232      1.1  christos [Binaries]:
    233      1.1  christos     <https://github.com/openssl/openssl/wiki/Binaries>
    234      1.1  christos     "List of third party OpenSSL binaries"
    235      1.1  christos 
    236      1.1  christos [OpenSSL Guide]:
    237      1.1  christos     <https://www.openssl.org/docs/manmaster/man7/ossl-guide-introduction.html>
    238      1.1  christos     "An introduction to OpenSSL"
    239      1.1  christos 
    240      1.1  christos <!-- Logos and Badges -->
    241      1.1  christos 
    242      1.1  christos [openssl logo]:
    243      1.1  christos     doc/images/openssl.svg
    244      1.1  christos     "OpenSSL Logo"
    245      1.1  christos 
    246      1.1  christos [github actions ci badge]:
    247      1.1  christos     <https://github.com/openssl/openssl/workflows/GitHub%20CI/badge.svg>
    248      1.1  christos     "GitHub Actions CI Status"
    249      1.1  christos 
    250      1.1  christos [github actions ci]:
    251      1.1  christos     <https://github.com/openssl/openssl/actions?query=workflow%3A%22GitHub+CI%22>
    252      1.1  christos     "GitHub Actions CI"
    253      1.1  christos 
    254      1.1  christos [appveyor badge]:
    255      1.1  christos     <https://ci.appveyor.com/api/projects/status/8e10o7xfrg73v98f/branch/master?svg=true>
    256      1.1  christos     "AppVeyor Build Status"
    257      1.1  christos 
    258      1.1  christos [appveyor jobs]:
    259      1.1  christos     <https://ci.appveyor.com/project/openssl/openssl/branch/master>
    260      1.1  christos     "AppVeyor Jobs"
    261