Latest development in branch 1.0.1
1.0.1u
Released 22 Sep 2016
(9 years ago)
SoftwareOpenSSL
Branch1.0.1
Status
End of life
Initial release1.0.1
14 Mar 2012
(14 years ago)
Latest release1.0.1u
22 Sep 2016
(9 years ago)
End of
OSS support
31 Dec 2016
(Ended 9 years, 4 months ago)
Premium supportUnavailable
Release noteshttps://github.com/openssl/openssl/releases/tag/OpenSSL_1_0_1u
Source codehttps://github.com/openssl/openssl/tree/OpenSSL_1_0_1u
Downloadhttps://github.com/openssl/openssl/releases/tag/OpenSSL_1_0_1u
OpenSSL 1.0.1 ReleasesView full list

What Is New in OpenSSL 1.0.1

Category Highlights
New Features TLS 1.2 support, AES-GCM cipher suites, native Elliptic Curve (ECC) APIs, new s_client/s_server options for TLS 1.2, built-in ChaCha20-Poly1305 draft support
Improvements Hardware-accelerated AES-NI paths, enhanced ENGINE framework, tighter RAND entropy handling, improved multi-thread locking callbacks
Bug Fixes Fixed CVE-2013-0169 (DTLS buffer overflow), CVE-2013-0276 (RSA padding check), memory-leak fixes in SSL_CTX and X509 handling, handshake stability fixes for TLS 1.2
Breaking Changes SSLv2 disabled by default and removed from the default build, default cipher list now excludes weak ciphers, EVP_PKEY API signatures changed for EC keys
Deprecations SSLv2 and SSLv3 functions marked deprecated, SSL_CTX_set_tmp_rsa_callback slated for removal in future releases

How does OpenSSL 1.0.1 add TLS 1.2 support?

OpenSSL 1.0.1 implements the full TLS 1.2 protocol, including the new handshake hash algorithms and the AES-GCM cipher suites.

  • New SSL_CTX_set_min_proto_version and SSL_CTX_set_max_proto_version helpers let applications pin TLS 1.2 explicitly.
  • GCM suites such as TLS_RSA_WITH_AES_128_GCM_SHA256 are now available via openssl ciphers -v.
  • Clients can request TLS 1.2 with -tls1_2 on openssl s_client and servers with -tls1_2 on openssl s_server.
openssl s_client -connect example.com:443 -tls1_2

In practice this means you can retire older protocol versions without changing application code, provided the peer also supports TLS 1.2.

What elliptic-curve enhancements are introduced in OpenSSL 1.0.1?

OpenSSL 1.0.1 adds native support for a wide range of NIST and Brainpool curves and a new EVP_PKEY API for EC keys.

  • New curves: prime256v1, secp384r1, secp521r1, and Brainpool variants are built-in.
  • The EVP_PKEY_new_raw_private_key and EVP_PKEY_new_raw_public_key functions simplify key import/export.
  • Engine support for hardware EC accelerators (e.g., Intel QuickAssist) has been refreshed.
openssl ecparam -name prime256v1 -genkey -noout -out ec_key.pem

This matters if your services rely on ECDHE key exchange; you can now enable stronger curves without external libraries.

Why should production teams care about the hardware-accelerated AES-NI paths?

OpenSSL 1.0.1 detects Intel AES-NI instructions at runtime and routes AES-CBC/GCM encryption through the optimized assembly path.

  • Performance gains of 30-50 % for bulk TLS traffic on modern CPUs.
  • Automatic fallback to the portable C implementation if AES-NI is unavailable.
  • No configuration changes required; the feature is enabled by default.

Watch out for older CPUs that lack AES-NI - they will continue using the safe software fallback without any functional impact.

What are the key security fixes that affect upgrade decisions?

OpenSSL 1.0.1 patches several high-severity vulnerabilities that were exploitable in earlier 1.0.0 releases.

  • CVE-2013-0169: DTLS buffer overflow fixed by adding proper length checks.
  • CVE-2013-0276: RSA padding oracle issue resolved with stricter PKCS#1 v1.5 checks.
  • Memory-leak fixes in SSL_CTX_free and X509 store handling reduce long-running process footprints.

Most teams will need to rebuild their binaries to incorporate these fixes; the API changes are backward compatible for typical usage.

FAQ

Does OpenSSL 1.0.1 require code changes to enable TLS 1.2?
Most applications can enable TLS 1.2 by calling SSL_CTX_set_min_proto_version with TLS1_2_VERSION or by using the -tls1_2 flag on the command-line tools.

Can I still use SSLv2 with OpenSSL 1.0.1?
SSLv2 is disabled by default and the build option to enable it has been removed, so you cannot use it without recompiling the library.

How do I list the new AES-GCM cipher suites?
Run openssl ciphers -v and look for GCM in the output.

Is the ECC API backward compatible with code written for OpenSSL 0.9.8?
Existing EC functions still exist, but new applications should use the EVP_PKEY interface for better future compatibility.

What command demonstrates the new TLS 1.2 client connection?
Use openssl s_client -connect example.com:443 -tls1_2 as a quick test.

Do the AES-NI optimizations require any special configuration?
No configuration is needed; the library automatically detects and uses AES-NI when available.

Releases In Branch 1.0.1

VersionRelease date
1.0.1u22 Sep 2016
(9 years ago)
1.0.1t03 May 2016
(10 years ago)
1.0.1s01 Mar 2016
(10 years ago)
1.0.1r28 Jan 2016
(10 years ago)
1.0.1q03 Dec 2015
(10 years ago)
1.0.1p09 Jul 2015
(10 years ago)
1.0.1o12 Jun 2015
(10 years ago)
1.0.1n11 Jun 2015
(10 years ago)
1.0.1m19 Mar 2015
(11 years ago)
1.0.1l15 Jan 2015
(11 years ago)
1.0.1k08 Jan 2015
(11 years ago)
1.0.1j15 Oct 2014
(11 years ago)
1.0.1i06 Aug 2014
(11 years ago)
1.0.1h05 Jun 2014
(11 years ago)
1.0.1g07 Apr 2014
(12 years ago)
1.0.1f06 Jan 2014
(12 years ago)
1.0.1e11 Feb 2013
(13 years ago)
1.0.1d05 Feb 2013
(13 years ago)
1.0.1c10 May 2012
(14 years ago)
1.0.1b26 Apr 2012
(14 years ago)
1.0.1a19 Apr 2012
(14 years ago)
1.0.114 Mar 2012
(14 years ago)
1.0.1-beta323 Feb 2012
(14 years ago)
1.0.1-beta219 Jan 2012
(14 years ago)
1.0.1-beta103 Jan 2012
(14 years ago)