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