Skip to content

Commit dac5138

Browse files
committed
doc: revamp the README file
* Add an OpenSSL logo and CI badges * Add a table of contents * Add a lot of links Reviewed-by: Tomas Mraz <[email protected]> (Merged from openssl#10545)
1 parent 569b74a commit dac5138

File tree

1 file changed

+206
-68
lines changed

1 file changed

+206
-68
lines changed

README.md

+206-68
Original file line numberDiff line numberDiff line change
@@ -1,105 +1,243 @@
1-
Description
2-
===========
1+
[![openssl logo][]][www.openssl.org]
32

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.
816

917
OpenSSL is descended from the SSLeay library developed by Eric A. Young
1018
and Tim J. Hudson.
1119

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)
1534

1635
Overview
1736
========
1837

1938
The OpenSSL toolkit includes:
2039

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+
========
2360

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+
------------------
2763

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.
3767

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.
4072

41-
See the appropriate file:
4273

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+
---------------------------
5276

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
54141
=======
55142

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.
60146

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.
63148

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+
=======
68151

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.
71154

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+
============
79157

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.
83160

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.
86165

87-
See [CONTRIBUTING](CONTRIBUTING.md)
88166

89-
Legalities
90-
==========
167+
Legalities
168+
==========
91169

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.
96173

97174

98175
Copyright
99176
=========
100177

101-
Copyright (c) 1998-2018 The OpenSSL Project
178+
Copyright (c) 1998-2020 The OpenSSL Project
102179

103180
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
104181

105182
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

Comments
 (0)