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