31,400
stars
+13
11,591
forks
1,016
watchers
19,759
prs
11,882
issues
323
releases
1,580
discussions
README
Welcome to the OpenSSL Project
==============================
[![openssl logo]][www.openssl.org]
[![github actions ci badge]][github actions ci]
OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit
for the Transport Layer Security (TLS, formerly SSL), Datagram TLS (DTLS), and QUIC protocols.
The protocol implementations are based on a full-strength general purpose
cryptographic library, which can also be used stand-alone. Also included is a
cryptographic module validated to conform with FIPS standards.
OpenSSL is descended from the SSLeay library developed by Eric A. Young
and Tim J. Hudson.
The official Home Page of the OpenSSL Project is [www.openssl.org].
Table of Contents
=================
- Overview
- Download
- Build and Install
- Documentation
- License
- Support
- Contributing
- Legalities
Overview
========
The OpenSSL toolkit includes:
- libssl
an implementation of all TLS protocol versions up to TLSv1.3 ([RFC 8446]),
DTLS protocol versions up to DTLSv1.3 ([RFC 9147]) and
the QUIC version 1 protocol ([RFC 9000]).
- libcrypto
a full-strength general purpose cryptographic library. It constitutes the
basis of the TLS implementation, but can also be used independently.
- openssl
the OpenSSL command line tool, a Swiss Army knife for cryptographic tasks,
testing and analyzing. It 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/DTLS and client and server tests
- QUIC client tests
- handling of S/MIME signed or encrypted mail
- and more...
Download
========
For Production Use
------------------
Source code tarballs of the official releases can be downloaded from
openssl-library.org/source/.
The OpenSSL project does not distribute the toolkit in binary form.
However, for a large variety of operating systems precompiled versions
of the OpenSSL toolkit are available. In particular, on Linux and other
Unix operating systems, it is normally recommended to link against the
precompiled shared libraries provided by the distributor or vendor.
We also maintain a list of third parties that produce OpenSSL binaries for
various Operating Systems (including Windows) on the [Binaries] page on our
wiki.
For Testing and Development
---------------------------
Although testing and development could in theory also be done using
the source tarballs, having a local copy of the git repository with
the entire project history gives you much more insight into the
code base.
The main OpenSSL Git repository is private.
There is a public GitHub mirror of it at [github.com/openssl/openssl],
which is updated automatically from the former on every commit.
A local copy of the Git repository can be obtained by cloning it from
the GitHub mirror using
git clone https://github.com/openssl/openssl.git
If you intend to contribute to OpenSSL, either to fix bugs or contribute
new fTop issues
#17064Massive performance degradation in OpenSsl 3.0 if used in a heavy multi threaded server application133 comments · 2021-11-18#11378New EOF detection breaks session resumption92 comments · 2020-03-22#16812Consider adding Meson build system support71 comments · 2021-10-12#15199PEM/DER decoding of PKCS8 RSA private keys are 80 times slower in 3.062 comments · 2021-05-07#19220ClientHello extensions shuffling to frustrate TLS fingerprinting46 comments · 2022-09-15#25294Race condition on error strings cleanup?45 comments · 2024-08-27#25155QUIC and Thread Fail on NonStop in 3.3 and 3.442 comments · 2024-08-10#33060make install fails on NonStop for 4.1.0-beta1 (since 4.1.0 initial)39 comments · 2026-09-30
Discussions
#33552Qustion about Interversion compatability (openSSL 1.1.0 and 4.1.23 in particular)1 comments · 2026-11-05#33480Backport feasibility: method-store cache lock removal for OpenSSL 3.5 LTS0 comments · 2026-11-02#33410Windows installer for 4.1 is in production!0 comments · 2026-10-27#33356OpenSSL 4.1.00 comments · 2026-10-23#33291Analysis of vulnerabilities for openssl 3.2 EOL version1 comments · 2026-10-21#33290What can be done to move a stale pull request forward?1 comments · 2026-10-21#33284Any plans to implement RFC 9973?1 comments · 2026-10-20#33209openssl md5 returning an sha256 digest in FIPS mode2 comments · 2026-10-13
Latest release
OpenSSL 4.1.0 openssl-4.1.0 2026-10-23OpenSSL 4.1.0 is a feature release adding significant new functionality
to OpenSSL.
This release incorporates the following potentially significant or incompatible
changes:
Added VC-WIN32-MSVC2013 and VC-WIN64A-MSVC2013 build targets to provide
internal functions for bridging the gaps in C99 standard support
that are present in MSVC 2013.
Added optimized ML-DSA and ML-KEM NTT operations on ppc64le;
optimized ML-DSA operations on x86_64;
AVX-512-optimized SHAKE x4 operations for ML-DSA on x86_64;
AVX-512 and VAES optimizations for AES-CBC decryption on