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