mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
3a63dbef15
We're strictly use version numbers of the form MAJOR.MINOR.PATCH. Letter releases are things of days past. The most central change is that we now express the version number with three macros, one for each part of the version number: OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR OPENSSL_VERSION_PATCH We also provide two additional macros to express pre-release and build metadata information (also specified in semantic versioning): OPENSSL_VERSION_PRE_RELEASE OPENSSL_VERSION_BUILD_METADATA To get the library's idea of all those values, we introduce the following functions: unsigned int OPENSSL_version_major(void); unsigned int OPENSSL_version_minor(void); unsigned int OPENSSL_version_patch(void); const char *OPENSSL_version_pre_release(void); const char *OPENSSL_version_build_metadata(void); Additionally, for shared library versioning (which is out of scope in semantic versioning, but that we still need): OPENSSL_SHLIB_VERSION We also provide a macro that contains the release date. This is not part of the version number, but is extra information that we want to be able to display: OPENSSL_RELEASE_DATE Finally, also provide the following convenience functions: const char *OPENSSL_version_text(void); const char *OPENSSL_version_text_full(void); The following macros and functions are deprecated, and while currently existing for backward compatibility, they are expected to disappear: OPENSSL_VERSION_NUMBER OPENSSL_VERSION_TEXT OPENSSL_VERSION OpenSSL_version_num() OpenSSL_version() Also, this function is introduced to replace OpenSSL_version() for all indexes except for OPENSSL_VERSION: OPENSSL_info() For configuration, the option 'newversion-only' is added to disable all the macros and functions that are mentioned as deprecated above. Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7724)
94 lines
3.1 KiB
Plaintext
94 lines
3.1 KiB
Plaintext
|
|
OpenSSL 3.0.0-dev
|
|
|
|
Copyright (c) 1998-2018 The OpenSSL Project
|
|
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
|
|
All rights reserved.
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
The OpenSSL Project is a collaborative effort to develop a robust,
|
|
commercial-grade, fully featured, and Open Source toolkit implementing the
|
|
Transport Layer Security (TLS) protocols (including SSLv3) as well as a
|
|
full-strength general purpose cryptographic library.
|
|
|
|
OpenSSL is descended from the SSLeay library developed by Eric A. Young
|
|
and Tim J. Hudson. The OpenSSL toolkit is licensed under a dual-license (the
|
|
OpenSSL license plus the SSLeay license), which means that you are free to
|
|
get and use it for commercial and non-commercial purposes as long as you
|
|
fulfill the conditions of both licenses.
|
|
|
|
OVERVIEW
|
|
--------
|
|
|
|
The OpenSSL toolkit includes:
|
|
|
|
libssl (with platform specific naming):
|
|
Provides the client and server-side implementations for SSLv3 and TLS.
|
|
|
|
libcrypto (with platform specific naming):
|
|
Provides general cryptographic and X.509 support needed by SSL/TLS but
|
|
not logically part of it.
|
|
|
|
openssl:
|
|
A command line tool that can be used for:
|
|
Creation of key parameters
|
|
Creation of X.509 certificates, CSRs and CRLs
|
|
Calculation of message digests
|
|
Encryption and decryption
|
|
SSL/TLS client and server tests
|
|
Handling of S/MIME signed or encrypted mail
|
|
And more...
|
|
|
|
INSTALLATION
|
|
------------
|
|
|
|
See the appropriate file:
|
|
INSTALL Linux, Unix, Windows, OpenVMS, ...
|
|
NOTES.* INSTALL addendums for different platforms
|
|
|
|
SUPPORT
|
|
-------
|
|
|
|
See the OpenSSL website www.openssl.org for details on how to obtain
|
|
commercial technical support. Free community support is available through the
|
|
openssl-users email list (see
|
|
https://www.openssl.org/community/mailinglists.html for further details).
|
|
|
|
If you have any problems with OpenSSL then please take the following steps
|
|
first:
|
|
|
|
- Download the latest version from the repository
|
|
to see if the problem has already been addressed
|
|
- Configure with no-asm
|
|
- Remove compiler optimization flags
|
|
|
|
If you wish to report a bug then please include the following information
|
|
and create an issue on GitHub:
|
|
|
|
- OpenSSL version: output of 'openssl version -a'
|
|
- Configuration data: output of 'perl configdata.pm --dump'
|
|
- OS Name, Version, Hardware platform
|
|
- Compiler Details (name, version)
|
|
- Application Details (name, version)
|
|
- Problem Description (steps that will reproduce the problem, if known)
|
|
- Stack Traceback (if the application dumps core)
|
|
|
|
Just because something doesn't work the way you expect does not mean it
|
|
is necessarily a bug in OpenSSL. Use the openssl-users email list for this type
|
|
of query.
|
|
|
|
HOW TO CONTRIBUTE TO OpenSSL
|
|
----------------------------
|
|
|
|
See CONTRIBUTING
|
|
|
|
LEGALITIES
|
|
----------
|
|
|
|
A number of nations restrict the use or export of cryptography. If you
|
|
are potentially subject to such restrictions you should seek competent
|
|
professional legal advice before attempting to develop or distribute
|
|
cryptographic code.
|