|
1 |
| -Description |
2 |
| -=========== |
| 1 | +[![openssl logo][]][www.openssl.org] |
3 | 2 |
|
4 |
| -The OpenSSL Project is a collaborative effort to develop a robust, |
5 |
| -commercial-grade, fully featured, and Open Source toolkit implementing the |
6 |
| -Transport Layer Security (TLS) protocols (including SSLv3) as well as a |
7 |
| -full-strength general purpose cryptographic library. |
| 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. |
8 | 16 |
|
9 | 17 | OpenSSL is descended from the SSLeay library developed by Eric A. Young
|
10 | 18 | and Tim J. Hudson.
|
11 | 19 |
|
12 |
| -The OpenSSL toolkit is licensed under the Apache License 2.0, which means |
13 |
| -that you are free to get and use it for commercial and non-commercial |
14 |
| -purposes as long as you fulfill its conditions. |
| 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) |
15 | 34 |
|
16 | 35 | Overview
|
17 | 36 | ========
|
18 | 37 |
|
19 | 38 | The OpenSSL toolkit includes:
|
20 | 39 |
|
21 |
| - * **libssl** |
22 |
| - Provides the client and server-side implementations for SSLv3 and TLS. |
| 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 | +======== |
23 | 60 |
|
24 |
| - * **libcrypto:** |
25 |
| - Provides general cryptographic and X.509 support needed by SSL/TLS but |
26 |
| - not logically part of it. |
| 61 | +For Production Use |
| 62 | +------------------ |
27 | 63 |
|
28 |
| - * **openssl:** |
29 |
| - A command line tool that can be used for: |
30 |
| - Creation of key parameters |
31 |
| - Creation of X.509 certificates, CSRs and CRLs |
32 |
| - Calculation of message digests |
33 |
| - Encryption and decryption |
34 |
| - SSL/TLS client and server tests |
35 |
| - Handling of S/MIME signed or encrypted mail |
36 |
| - And more... |
| 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. |
37 | 67 |
|
38 |
| -Installation |
39 |
| -============ |
| 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. |
40 | 72 |
|
41 |
| -See the appropriate file: |
42 | 73 |
|
43 |
| - * [INSTALL](INSTALL): General installation instructions for all platforms |
44 |
| - * Additional instructions for specific platforms |
45 |
| - * [NOTES.ANDROID](NOTES.ANDROID) |
46 |
| - * [NOTES.DJGPP](NOTES.DJGPP) |
47 |
| - * [NOTES.PERL](NOTES.PERL) |
48 |
| - * [NOTES.UNIX](NOTES.UNIX) |
49 |
| - * [NOTES.VALGRIND](NOTES.VALGRIND) |
50 |
| - * [NOTES.VMS](NOTES.VMS) |
51 |
| - * [NOTES.WIN](NOTES.WIN) |
| 74 | +For Testing and Development |
| 75 | +--------------------------- |
52 | 76 |
|
53 |
| -Support |
| 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 | + |
| 121 | + |
| 122 | +Documentation |
| 123 | +============= |
| 124 | + |
| 125 | +Manual Pages |
| 126 | +------------ |
| 127 | + |
| 128 | +The manual pages for the master branch and all current stable releases are |
| 129 | +available online. |
| 130 | + |
| 131 | +- [OpenSSL master](https://www.openssl.org/docs/manmaster) |
| 132 | +- [OpenSSL 1.1.1](https://www.openssl.org/docs/man1.1.1) |
| 133 | + |
| 134 | +Wiki |
| 135 | +---- |
| 136 | + |
| 137 | +There is a Wiki at [wiki.openssl.org][] which is currently not very active. |
| 138 | +It contains a lot of useful information, not all of which is up to date. |
| 139 | + |
| 140 | +License |
54 | 141 | =======
|
55 | 142 |
|
56 |
| -See the OpenSSL website www.openssl.org for details on how to obtain |
57 |
| -commercial technical support. Free community support is available through the |
58 |
| -openssl-users email list (see |
59 |
| -https://www.openssl.org/community/mailinglists.html for further details). |
| 143 | +OpenSSL is licensed under the Apache License 2.0, which means that |
| 144 | +you are free to get and use it for commercial and non-commercial |
| 145 | +purposes as long as you fulfill its conditions. |
60 | 146 |
|
61 |
| -If you have any problems with OpenSSL then please take the following steps |
62 |
| -first: |
| 147 | +See the [LICENSE](LICENSE) file for more details. |
63 | 148 |
|
64 |
| - - Download the latest version from the repository |
65 |
| - to see if the problem has already been addressed |
66 |
| - - Configure with no-asm |
67 |
| - - Remove compiler optimization flags |
| 149 | +Support |
| 150 | +======= |
68 | 151 |
|
69 |
| -If you wish to report a bug then please include the following information |
70 |
| -and create an issue on GitHub: |
| 152 | +There are various ways to get in touch. The correct channel depends on |
| 153 | +your requirement. see the [SUPPORT](SUPPORT.md) file for more details. |
71 | 154 |
|
72 |
| - - OpenSSL version: output of 'openssl version -a' |
73 |
| - - Configuration data: output of 'perl configdata.pm --dump' |
74 |
| - - OS Name, Version, Hardware platform |
75 |
| - - Compiler Details (name, version) |
76 |
| - - Application Details (name, version) |
77 |
| - - Problem Description (steps that will reproduce the problem, if known) |
78 |
| - - Stack Traceback (if the application dumps core) |
| 155 | +Contributing |
| 156 | +============ |
79 | 157 |
|
80 |
| -Just because something doesn't work the way you expect does not mean it |
81 |
| -is necessarily a bug in OpenSSL. Use the openssl-users email list for this type |
82 |
| -of query. |
| 158 | +If you are interested and willing to contribute to the OpenSSL project, |
| 159 | +please take a look at the [CONTRIBUTING](CONTRIBUTING.md) file. |
83 | 160 |
|
84 |
| -How to contribute to OpenSSL |
85 |
| -============================ |
| 161 | +Since 2016, development takes place in public on the GitHub open source |
| 162 | +platform. The OpenSSL Project Pages at [openssl.github.io][] are a |
| 163 | +valuable source of information if you want to get familiar with our |
| 164 | +development process on GitHub. |
86 | 165 |
|
87 |
| - See [CONTRIBUTING](CONTRIBUTING.md) |
88 | 166 |
|
89 |
| - Legalities |
90 |
| - ========== |
| 167 | +Legalities |
| 168 | +========== |
91 | 169 |
|
92 |
| - A number of nations restrict the use or export of cryptography. If you |
93 |
| - are potentially subject to such restrictions you should seek competent |
94 |
| - professional legal advice before attempting to develop or distribute |
95 |
| - cryptographic code. |
| 170 | +A number of nations restrict the use or export of cryptography. If you are |
| 171 | +potentially subject to such restrictions you should seek legal advice before |
| 172 | +attempting to develop or distribute cryptographic code. |
96 | 173 |
|
97 | 174 |
|
98 | 175 | Copyright
|
99 | 176 | =========
|
100 | 177 |
|
101 |
| -Copyright (c) 1998-2018 The OpenSSL Project |
| 178 | +Copyright (c) 1998-2020 The OpenSSL Project |
102 | 179 |
|
103 | 180 | Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
104 | 181 |
|
105 | 182 | All rights reserved.
|
| 183 | + |
| 184 | + |
| 185 | +<!-- Links --> |
| 186 | + |
| 187 | +[www.openssl.org]: |
| 188 | + https://www.openssl.org |
| 189 | + "OpenSSL Homepage" |
| 190 | + |
| 191 | +[git.openssl.org]: |
| 192 | + https://git.openssl.org |
| 193 | + "OpenSSL Git Repository" |
| 194 | + |
| 195 | +[git.openssl.org]: |
| 196 | + https://git.openssl.org |
| 197 | + "OpenSSL Git Repository" |
| 198 | + |
| 199 | +[github.com/openssl/openssl]: |
| 200 | + https://github.com/openssl/openssl |
| 201 | + "OpenSSL GitHub Mirror" |
| 202 | + |
| 203 | +[openssl.github.io]: |
| 204 | + https://mspncp.github.io |
| 205 | + "OpenSSL Project Pages" |
| 206 | + |
| 207 | +[wiki.openssl.org]: |
| 208 | + https://wiki.openssl.org |
| 209 | + "OpenSSL Wiki" |
| 210 | + |
| 211 | + |
| 212 | +[RFC 8446]: |
| 213 | + https://tools.ietf.org/html/rfc8446 |
| 214 | + |
| 215 | + |
| 216 | +<!-- Logos and Badges --> |
| 217 | +<!-- |
| 218 | + Note: The security token for the appveyor badge (the random number in |
| 219 | + the URL below) was obtained for the mspncp/openssl project. |
| 220 | + It needs to be replaced by the correct token by some core member |
| 221 | + (@levitte, @mattcaswell?). It can be obtained for project members at |
| 222 | + https://ci.appveyor.com/project/openssl/openssl/settings/badges. |
| 223 | +--> |
| 224 | + |
| 225 | +[openssl logo]: |
| 226 | + doc/images/openssl.svg |
| 227 | + "OpenSSL Logo" |
| 228 | + |
| 229 | +[travis badge]: |
| 230 | + https://travis-ci.org/openssl/openssl.svg?branch=master |
| 231 | + "Travis Build Status" |
| 232 | + |
| 233 | +[travis jobs]: |
| 234 | + https://travis-ci.org/openssl/openssl |
| 235 | + "Travis Jobs" |
| 236 | + |
| 237 | +[appveyor badge]: |
| 238 | + https://ci.appveyor.com/api/projects/status/ikn2l4u1xsume63u/branch/master?svg=true |
| 239 | + "AppVeyor Build Status" |
| 240 | + |
| 241 | +[appveyor jobs]: |
| 242 | + https://ci.appveyor.com/project/openssl/openssl/branch/master |
| 243 | + "AppVeyor Jobs" |
0 commit comments