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