OpenSSL
openssl-4.1.0 open-sourceThe section your link pointed to isn't on OpenSSL's page any more, so we've brought you to the top.
OpenSSL is an open source toolkit for the TLS, DTLSDTLSA variant of TLS adapted for UDP, standardized by the IETF, that adds handshake reliability and replay protection without sacrificing datagram semantics — letting cyber tools encrypt low-latency or connectionless traffic., and QUICQUICA UDP-based transport protocol standardized by the IETF that bakes in TLS 1.3, multiplexed streams, and connection migration, giving tools low-latency encrypted transport without head-of-line blocking. protocols, built on a full-strength general purpose cryptographic library.
man ossl-guide-dtlsv13 openssl fipsinstall -out fips.conf -module fips.so -defer_tests openssl rehash /etc/ssl/certs openssl configutl openssl smime -sign -in message.txt -signer cert.pem -inkey key.pem -outform DER -out message.p7 openssl ocsp -ignore_err -issuer issuer.pem -cert cert.pem -url http://ocsp.example.com openssl dgst -sha256 <file> # In openssl.cnf [system_default_sect] MinProtocol = TLSv1.2 MaxProtocol = TLSv1.3 openssl kdf -keylen 32 -kdfopt digest:SHA256 -kdfopt key:mysecret -kdfopt salt:mysalt -kdfopt info:myinfo HKDF openssl mac -digest SHA256 -macopt key:mysecretkey -in data.bin HMAC SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv2); "SUITEB128"
Summary
OpenSSL is an open-source cryptographic toolkit that implements TLS, DTLS, and QUIC, built around a general-purpose cryptography library, libcrypto, that can be used standalone, plus libssl for the protocol handling; it costs nothing to use. The included openssl command-line tool handles certificate, CSRCSRA Certificate Signing Request is a block of encoded data submitted to a certificate authority, containing a public key and identity details, so the CA can issue a signed TLS certificate without ever seeing the private key., and key-related tasks directly from a terminal, while libcrypto and libssl are consumed as libraries by applications that need TLS or encryption built in, which makes the project relevant to both application developers embeddingembeddingLists of numbers a model produces to represent the meaning of text, images or code, so similar items sit close together. They power semantic search and RAG. cryptography and administrators managing certificates. It functions as infrastructure other cyber tools and language runtimes build on rather than a competitor to any single product. Recent work adding post-quantum key exchangepost-quantum key exchangeA cryptographic handshake algorithm designed to resist attacks from quantum computers, using math problems like lattices that quantum algorithms cannot efficiently solve, letting tools stay secure against future quantum-capable adversaries. (ML-KEMML-KEMNIST's post-quantum key-exchange standard (FIPS 203), formerly Kyber. Two parties use it to agree on a shared secret, usually alongside X25519 in a hybrid TLS handshake., ML-DSAML-DSANIST's main post-quantum digital signature standard (FIPS 204), formerly Dilithium. It is the planned replacement for RSA and ECDSA signatures on certificates and code.) and Encrypted Client Hello shows it tracking current protocol standards, and with over 1,500 contributors, thousands of commits in the past year, and a release 39 days ago, it is under continuous, active development.
OpenSSL is an open source toolkit for the TLS, DTLS, and QUIC protocols, built on a full-strength general purpose cryptographic library.
How OpenSSL helps
Is this certificate actually valid, and for what and until when?
reads the X.509 structure and prints subject, issuer, validity dates, and extensions, so an expired or wrong-hostname cert shows up before a client hits it in production
Will this server's TLS setup actually protect the SNI from a passive observer?
opens a live connection and reports which protocol version and extensions were negotiated, showing whether Encrypted Client Hello was in play rather than assumed
Is a candidate encryption algorithm or key size actually the one running, and is it FIPS-approved?
runs the operation through the configured provider and reports which module served it, catching cases where a non-approved implementation was silently used instead of the validated one
What does this deployment's resolved configuration actually tell the library to do?
dumps the configuration file as OpenSSL itself interprets it, exposing FIPS provider or algorithm settings that differ from what the file appears to say
Languages
Features
109 capabilities
Built from OpenSSL's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.
What OpenSSL offers you
- Command-line interface22
- Plugin system1
- Ticketing integration1
No capabilities match.
+ All capabilities 109 capabilities ▸
+ TLS/DTLS protocol range configuration shipped Allows configuration of minimum and maximum TLS/DTLS protocol versions via config directives. 13 releases · first seen Jul 2002 ▸
release 13 total
-
Enables
MinProtocolandMaxProtocolconfig directives to govern both TLS and DTLS contexts simultaneously. OpenSSL_1_1_1h · Sep 2024 · source · release history - Supports DTLS 1.2, bringing the latest datagram TLS version to OpenSSL. OpenSSL_1_0_2 · Sep 2024 · source · release history
- Adds TLS v1.2 and TLS v1.1 protocol support. OpenSSL_1_0_1 · Sep 2024 · source · release history
- Supports setting minimum and maximum protocol versions using SSL_set_min_proto_version() and SSL_set_max_proto_version(). 1.1.0 · Aug 2016 · source · release history
-
Enables pipeline processing for ciphers supporting
EVP_CIPH_FLAG_PIPELINEvia libssl. 1.1.0 · Aug 2016 · source · release history -
Adds
TLS_FALLBACK_SCSVsupport; clients doing fallback retries use SSL_set_mode(s, SSL_MODE_SEND_FALLBACK_SCSV). 1.0.0o · Oct 2014 · source · release history
+ OCSP Verification shipped Provides library support for Online Certificate Status Protocol to check certificate revocation status. 12 releases · first seen Dec 2002 ▸
Also counts toward: Command-line interface
release 12 total
- New OCSP library section for Online Certificate Status Protocol support. OpenSSL_0_9_7 · Sep 2024 · source · release history
-
Adds
-ignore_erroption to the OCSP utility, allowing continuation past non-fatal errors during OCSP response checking. OpenSSL_0_9_7c · Sep 2024 · source · release history -
Adds
-multi <N>option toocspcommand to spawn N child processes for OCSP responder mode 1.1.1 · Sep 2018 · source · release history -
Adds HTTP GET support to the
ocspcommand line tool. 1.1.0 · Aug 2016 · source · release history -
New option
-crl_downloadin several openssl utilities to download CRLs from CRLDP extension in certificates 1.0.2 · Jan 2015 · source · release history -
New function
X509_CRL_diff to generate a delta CRL from the difference of two full CRLs with support in crl utility 1.0.2 · Jan 2015 · source · release history
+ EVP KDF and PRF API shipped Provides a unified EVP-layer interface for Key Derivation Functions and Pseudo-Random Functions including HKDF, PBKDF2, and SCRYPT. 11 releases · first seen Feb 2000 ▸
Also counts toward: Command-line interface
release 11 total
- Adds support for IKEV2 KDF. announced · Sep 2026 · source · release history
- Adds SNMP KDF and SRTP KDF support. openssl-4.0.0 · Apr 2026 · source · release history
-
Lower bounds checks are now enforced for
PKCS5_PBKDF2_HMACwhen using the FIPS provider; calls with out-of-bounds parameters will now return errors. openssl-4.0.0 · Apr 2026 · source · release history -
Introduces
EVP_SKEYopaque symmetric key objects with new EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY(), and EVP_PKEY_derive_SKEY() functions for key derivation and key exchange provider methods. openssl-3.6.0 · Oct 2025 · source · release history -
Adds opaque symmetric key object support via the new
EVP_SKEYAPI. openssl-3.5.0 · Apr 2025 · source · release history -
Adds
EVP_KDF, an EVP-layer KDF/PRF API supporting HKDF, KBKDF, KRB5 KDF, PBKDF2, PKCS12 KDF, SCRYPT, SSH KDF, SSKDF, TLS1 PRF, X9.42 KDF, and X9.63 KDF. openssl-3.0.0 · Sep 2024 · source · release history
+ TLS signature algorithm configuration shipped Allows programmatic setting of supported signature algorithms and curves for TLS handshakes. 11 releases · first seen Mar 1999 ▸
release 11 total
- Supports negotiated FFDHE key exchange in TLS 1.2 per RFC 7919. openssl-4.0.0 · Apr 2026 · source · release history
- Enables hybrid PQC KEM groups by default in TLS, preferring X25519MLKEM768 alongside X25519 as the default keyshares. openssl-3.5.0 · Apr 2025 · source · release history
- The default TLS keyshares are changed to offer X25519MLKEM768 and X25519; deployments depending on the previous default keyshares may see changed behaviour during TLS negotiation. openssl-3.5.0 · Apr 2025 · source · release history
- Supports multiple TLS keyshares and improved TLS key establishment group configurability. openssl-3.5.0 · Apr 2025 · source · release history
- New API to set TLS supported signature algorithms and curves programmatically. OpenSSL_1_0_2 · Sep 2024 · source · release history
- Backports RSA-PSS signature algorithms to TLSv1.2. OpenSSL_1_1_1 · Sep 2024 · source · release history
+ Asymmetric key pair generation shipped Provides convenience functions for programmatically generating asymmetric cryptographic key pairs. 11 releases · first seen Aug 1999 ▸
release 11 total
- Adds PQC algorithm support: ML-KEM, ML-DSA, and SLH-DSA. openssl-3.5.0 · Apr 2025 · source · release history
- Adds convenience functions for generating asymmetric key pairs. openssl-3.0.0 · Sep 2024 · source · release history
-
Changes the default RSA, DSA and DH key size to 2048 bits when using
genpkeywithout a specified size 1.1.1c · May 2019 · source · release history -
The default RSA, DSA and DH key size is now 2048 bits when using the
genpkeycommand without a specified size 1.1.1c · May 2019 · source · release history -
Changes the default RSA, DSA and DH key size to 2048 bits in the
genpkeycommand when no size is specified 1.0.2s · May 2019 · source · release history -
The
genpkeycommand now defaults to 2048-bit keys instead of 1024-bit, potentially changing the output of scripts that omit explicit size arguments. 1.1.0k · May 2019 · source · release history
+ Elliptic curve cryptography support shipped Provides the foundational framework for elliptic curve operations, including groups and points over prime fields. 11 releases · first seen Dec 2002 ▸
Also counts toward: Command-line interface
release 11 total
- EC key loading now respects built-in curve names over explicit parameters by default when using EC_GROUP_new_from_ecpkparameters() or EC_GROUP_new_from_ecparameters(). 1.1.1d · Sep 2019 · source · release history
-
Adds SCA hardening for modular field inversion in
EC_GROUPvia a new dedicated field_inv() pointer inEC_METHOD. 1.1.0k · May 2019 · source · release history -
Coordinate blinding for
EC_POINTis now implemented. 1.1.0j · Nov 2018 · source · release history -
Adds support for X448 and Ed448 curves and openssl passwd SHA256/SHA512 output via the
-aes256or similar algorithm flags (implied by SHA256/SHA512 based output description) 1.1.1 · Sep 2018 · source · release history -
Enforces a minimum of 256-bit elliptic curves for the
ecdh_autoserver setting and client default, preferring P-256 among supported curves. 1.0.2b · Jun 2015 · source · release history - Support for automatic EC temporary key parameter selection via SSL_CTX_set_ecdh_auto(ctx, 1) 1.0.2 · Jan 2015 · source · release history
+ AES cipher suite support shipped Enables AES (Rijndael) encryption within SSL/TLS connections. 10 releases · first seen Dec 2002 ▸
release 10 total
- Supports Encrypted Client Hello (ECH, RFC 9849) to hide the SNI from passive observers. openssl-4.0.0 · Apr 2026 · source · release history
- Adds support for third-party QUIC stacks, including 0-RTT support. openssl-3.5.0 · Apr 2025 · source · release history
- New AES (Rijndael) library section with AES cipher suite support in SSL/TLS (RFC3268). OpenSSL_0_9_7 · Sep 2024 · source · release history
- Adds ChaCha20 and Poly1305 support to both libcrypto and libssl. OpenSSL_1_1_0 · Sep 2024 · source · release history
- Adds Kernel TLS (KTLS) support for offloading TLS record processing to the OS kernel. openssl-3.0.0 · Sep 2024 · source · release history
- Adds fully compliant TLSv1.3 (RFC 8446) support enabled by default, including 0-RTT early data, post-handshake authentication, key update, middlebox compatibility mode, PSKs, and all five RFC 8446 ciphersuites. OpenSSL_1_1_1 · Sep 2024 · source · release history
+ Crypto accelerator engine support shipped Enables dynamic loading of cryptographic engines for hardware acceleration via specific implementations. 10 releases · first seen Dec 2001 ▸
release 10 total
-
Adds
devcryptoengine for hardware crypto acceleration on BSD/Linux 1.1.1 · Sep 2018 · source · release history - Adds the AFALG engine to offload AES128-CBC work to the Linux kernel. 1.1.0 · Aug 2016 · source · release history
-
Enable new ENGINE framework auto-loading from
/usr/local/ssl/enginesor theOPENSSL_ENGINESenvironment variable 0.9.8 · Jul 2005 · source · release history - Switches Cygwin builds to use Windows randomness collection instead of default sources 0.9.7f · Mar 2005 · source · release history
-
Adds
default_algorithmsoption to ENGINE config module to specify which algorithms an engine accelerates 0.9.7 · Dec 2002 · source · release history -
Introduces config module support in the
opensslutility withengineloading from config files 0.9.7 · Dec 2002 · source · release history
+ Platform and Version Management shipped Provides configuration for supported operating system platforms and exposes version information macros. 9 releases · first seen Dec 1998 ▸
release 9 total
-
The
VC-WIN64I(Windows-on-Itanium) andVC-CE(Windows CE) build targets are dropped from Configurations. openssl-4.1.0 · Oct 2026 · source · release history -
Adds
VC-WIN32-MSVC2013andVC-WIN64A-MSVC2013build targets for MSVC 2013 C99 bridging support. openssl-4.1.0 · Oct 2026 · source · release history -
Adds FIPS Object Module support for the
android64-aarch64target on Android Arm 64-bit platforms 1.0.2s · May 2019 · source · release history - Support for FreeBSD on sparc64 architecture. 0.9.7a · Feb 2003 · source · release history
- Support for FreeBSD on IA64 architecture. 0.9.7a · Feb 2003 · source · release history
- Adds support for SPARC Linux platform configuration 0.9.4 · Aug 1999 · source · release history
+ Extended algorithm suite support shipped Adds support for SHA3, EdDSA, X448, multi-prime RSA, SM2/SM3/SM4, SipHash, and ARIA algorithms. 9 releases · first seen Mar 2012 ▸
release 9 total
-
Adds SM2/SM3 signature algorithm (
sm2sig_sm3), key exchange groupcurveSM2, and post-quantum hybrid groupcurveSM2MLKEM768per RFC 8998. openssl-4.0.0 · Apr 2026 · source · release history - Adds SHA3, SHA512/224, SHA512/256, EdDSA (Ed25519 and Ed448 with X.509 and TLS support), X448, multi-prime RSA, SM2, SM3, SM4, SipHash, and ARIA (with TLS support). OpenSSL_1_1_1 · Sep 2024 · source · release history
- Enables SHA3 pre-hashing for ECDSA and DSA signatures 1.1.1c · May 2019 · source · release history
- Adds SHA-3 (SHA3) algorithm support 1.1.1 · Sep 2018 · source · release history
- Adds support for SipHash 1.1.1 · Sep 2018 · source · release history
- Adds SM2, SM3, SM4 algorithm support and ARIA AEAD TLS support 1.1.1 · Sep 2018 · source · release history
+ Low-level RSA utility shipped Provides a CLI tool for raw RSA signing, verification, encryption, and decryption operations. 9 releases · first seen Aug 1999 ▸
Also counts toward: Command-line interface
release 9 total
-
New
rsautlapplication for low-level RSA sign, verify, encrypt, and decrypt operations. OpenSSL_0_9_6 · Sep 2024 · source · release history -
Extend RSA OAEP support via
EVP_PKEYAPI with options to specify digest, MGF1 digest and OAEP label 1.0.2 · Jan 2015 · source · release history -
Adds additional
DigestInfoverification checks to reject improperly encoded RSA signature structures 1.0.1j · Oct 2014 · source · release history - Adds additional DER-encoded DigestInfo structure checks during RSA signature verification 1.0.0o · Oct 2014 · source · release history
-
Add new algorithm specific ASN1 verification initialisation function to
EVP_PKEY_ASN1_METHODwith a PSS handler. 1.0.1 · Mar 2012 · source · release history -
Add RSA PSS signing function which generates and sets appropriate AlgorithmIdentifiers for PSS based on
EVP_MD_CTXstructure. 1.0.1 · Mar 2012 · source · release history
+ Programmatic PKCS#12 manipulation shipped Offers a 'medium level' API for the programmatic creation and modification of PKCS#12 key containers. 9 releases · first seen May 1999 ▸
Also counts toward: Command-line interface
release 9 total
- New PKCS#12 medium level API for programmatic manipulation of PKCS#12 files. OpenSSL_0_9_8 · Sep 2024 · source · release history
-
PKCS#8 is now the default write format for private keys in utilities like
rsa, replacing the traditional format. 1.0.0 · Mar 2010 · source · release history - Adds sk_is_sorted() function to the STACK API for verifying sorted order. 0.9.7e · Oct 2004 · source · release history
-
Adds
-subjargument toreqandcautilities to set or override the subject name directly on the command line 0.9.7 · Dec 2002 · source · release history -
Adds
-set_serialoption toreqandx509utilities to specify a custom serial number for certificates 0.9.7 · Dec 2002 · source · release history -
Adds
copy_extensionsoption to thecautility to copy extensions from a certificate request to the issued certificate 0.9.7 · Dec 2002 · source · release history
+ Minimal Build Configuration shipped Allows building the library with optional cryptographic components disabled. 8 releases · first seen Dec 1998 ▸
release 8 total
-
The
no-ecdsaandno-ecdhConfigure options are removed; useno-ecto disable elliptic curve support. openssl-4.1.0 · Oct 2026 · source · release history -
Adds
no-ecdsaandno-ecdhremoval from Configure — useno-ecto disable elliptic curve support. openssl-4.1.0 · Oct 2026 · source · release history -
Provide a new configure option
no-ecxthat can be used to disable the X25519, X448, and EdDSA support. 3.2.0 · Nov 2023 · source · release history -
Provide a new configure option
no-httpthat can be used to disable the HTTP support. 3.2.0 · Nov 2023 · source · release history -
Adds
OPENSSL_NO_TLS1_2_CLIENTconfig option to disable TLS 1.2 client support entirely. 1.0.1a · Apr 2012 · source · release history -
New build option no-ec2m to disable characteristic 2 code.1.0.1 · Mar 2012 · source · release history
+ ASN.1 string manipulation shipped Provides functions to work with ASN.1 string data, including retrieving string length and setting string content. 5 releases · 3 other sources · first seen May 1999 ▸
release
- Adds support for RFC 8701 GREASE (Generate Random Extensions And Sustain Extensibility) in TLS. announced · Sep 2026 · source · release history
- Adds a proper HTTP client supporting GET/POST, TLS, persistent connections, HTTP(S) proxy, redirects, user-defined BIOs, and timeout checks. openssl-3.0.0 · Sep 2024 · source · release history
- Adds EVP_Digest() convenience function combining init, update, and final operations 0.9.7 · Dec 2002 · source · release history
-
Adds
-randoption tos_clientands_serverCLI commands for entropy source specification. 0.9.6a · Apr 2001 · source · release history -
Adds
openssl list-cipher-commandscommand (undocumented) to list available ciphers for testing. 0.9.3 · May 1999 · source · release history
docs
- values have never been NUL byte terminated The bytes returned by have never been guaranteed to be NUL byte terminated, and the documentation has said so since 2002. Values constructed as pointers into parsed DER never have been. seen Sep 2026 · source
-
ASN1_STRING_get_lengthASN1_STRING_set1_dataASN1_STRING_set1_stringSSL_VALUE_QUIC_MAX_PENDING_CONNSseen Aug 2026 · source -
ASN1_STRING_length_exASN1_STRING_set_dataASN1_STRING_set_string docs update · Jul 2026 · source
+ Multisigner PKCS#7/CMS support shipped Enables the creation and handling of PKCS#7 and CMS structures with multiple signers. 8 releases · first seen Aug 1999 ▸
release 8 total
-
Added support for multiple X.509v3 extensions including
issuedOnBehalfOf,auditIdentity, and others. 3.4.0 · Oct 2024 · source · release history - Adds multiple signer and signer-add support for PKCS#7 and CMS. OpenSSL_1_0_0 · Sep 2024 · source · release history
- RNDR and RNDRRS random number generation support added for Arm CPUs (aarch64) via provider functions 3.1.0 · Mar 2023 · source · release history
-
Adds
-resignand-mdoptions tosmimeutility for adding signers to existing PKCS#7 structures 1.0.0 · Mar 2010 · source · release history -
Adds
cmsdirectory andcmsutility for Cryptographic Message Syntax based on RFC3850/3851/3852 1.0.0 · Mar 2010 · source · release history -
Add
enable-cmsconfiguration option to explicitly enable the backported CMS code. 0.9.8h · May 2008 · source · release history
+ DTLS 1.3 protocol support shipped Implements the DTLS 1.3 protocol (RFC 9147), including listener workflows and reduced handshake round trips. 7 releases · first seen Jan 2015 ▸
release 7 total
- Adds DTLS 1.3 support per RFC 9147, documented in the ossl-guide-dtlsv13(7) manual page.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄ openssl-4.1.0 · Oct 2026 · source · release history
- Adds DTLS 1.3 support (RFC 9147); see the ossl-guide-dtlsv13(7) manual page for usage details. announced · Sep 2026 · source · release history
- Adds DTLS support in the SSL listener API. announced · Sep 2026 · source · release history
- Adds support for DTLS 1.3 (RFC 9147), documented in the ossl-guide-dtlsv13(7) manual page.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄ announced · Sep 2026 · source · release history
- Adds DTLS 1.3 protocol support in OpenSSL 4.1, with fewer handshake round trips and removal of outdated cryptographic algorithms compared to DTLS 1.2.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄ announced · Sep 2026 · source · release history
- Extends SSL_new_listener() to support DTLS, enabling DTLS 1.3 listener workflows (note: DTLSv1_listen() does not support DTLS 1.3). announced · Sep 2026 · source · release history
+ TLS security levels shipped Implements configurable TLS security levels within libssl to enforce cryptographic strength requirements. 7 releases · first seen Feb 2000 ▸
release 7 total
-
New
no-tls-deprecated-ecbuild configuration option to disable TLS groups deprecated in RFC 8422. openssl-3.5.0 · Apr 2025 · source · release history - The default TLS supported groups list now includes and prefers hybrid PQC KEM groups, and some previously available groups have been removed from the default list; peers that do not support these groups may experience handshake failures. openssl-3.5.0 · Apr 2025 · source · release history
- Adds new security levels to libssl. OpenSSL_1_1_0 · Sep 2024 · source · release history
- SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0; they are blocked at higher security levels. openssl-3.0.0 · Sep 2024 · source · release history
-
Adds the
mkfipsscr.plPerl script to generate shell scripts or batch files for running algorithm test programs 0.9.7m · Feb 2007 · source · release history -
@STRENGTHcipher sorting syntax in s_server/s_client for ordering ciphers by strength_bits. 0.9.5 · Feb 2000 · source · release history
+ Cryptographic instrumentation shipped Adds trace and debug output capabilities for monitoring cryptographic operations. 7 releases · first seen Aug 1999 ▸
release 7 total
- Adds instrumentation support through trace and debug output. openssl-3.0.0 · Sep 2024 · source · release history
- Adds experimental qlog tracing for QUIC connections; its pre-standard output has no format stability guarantee and can be disabled with no-unstable-qlog. 3.3.0 · Apr 2024 · source · release history
- SSL/TLS tracing code parses out SSL/TLS records using message callback and prints results, enabled by compile option enable-ssl-trace and new s_client/s_server options 1.0.2 · Jan 2015 · source · release history
- Adds TLS extension debugging callback capability to inspect client/server extensions 0.9.8f · Oct 2007 · source · release history
- Adds SSL_CTX_set_msg_callback() and SSL_set_msg_callback() APIs for protocol message inspection 0.9.7 · Dec 2002 · source · release history
-
Adds
-msgoption tos_clientands_serverto display all protocol messages via callbacks 0.9.7 · Dec 2002 · source · release history
+ Generic key and certificate serialization shipped Serializes keys and certificates using generic encoder and decoder APIs. 7 releases · first seen Mar 1999 ▸
release 7 total
-
Adds
OSSL_ENCODERandOSSL_DECODER, generic encoder/decoder APIs for key and certificate serialization. openssl-3.0.0 · Sep 2024 · source · release history -
Adds support for
smime-typeMIME parameter in S/MIME messages 0.9.7h · Oct 2005 · source · release history - Support IPv6 addresses in certificate extensions using RFC1884 format syntax 0.9.8 · Jul 2005 · source · release history
- Adds RFC 3820 proxy certificate support, which applications must explicitly allow at runtime. 0.9.7g · Apr 2005 · source · release history
- New X509at_*() API functions for handling certificate attributes, replacing the older X509_*() set. 0.9.5 · Feb 2000 · source · release history
-
X509_ATTRIBUTEutility macros prefixed withM_(e.g.X509at_*); external code should use function equivalents. 0.9.5 · Feb 2000 · source · release history
+ S/MIME DER format support shipped Outputs S/MIME messages in DER binary encoding for environments requiring non-PEM formats. 6 releases · 1 other source · first seen Sep 2000 ▸
Also counts toward: Command-line interface
release
-
Turns on RSA blinding by default to mitigate timing attacks, with a new
RSA_FLAG_NO_BLINDINGflag to disable it. 0.9.7b · Apr 2003 · source · release history - Improves RSA blinding to function correctly even when the PRNG is not seeded initially. 0.9.7b · Apr 2003 · source · release history
- Enables RSA blinding by default to mitigate timing attacks on RSA operations. 0.9.6j · Apr 2003 · source · release history
-
Adds the
RSA_FLAG_NO_BLINDINGflag for applications that explicitly need to disable RSA blinding. 0.9.6j · Apr 2003 · source · release history - Updates RSA bliding implementation to function correctly even when the PRNG is not yet seeded. 0.9.6j · Apr 2003 · source · release history
-
Adds
-inform,-outform, and-contentoptions to thesmimeapplication 0.9.6 · Sep 2000 · source · release history
example
-
Sign an S/MIME message and output it in DER format for use in environments requiring binary-encoded CMS messages.
$ openssl smime -sign -in message.txt -signer cert.pem -inkey key.pem -outform DER -out message.p7OpenSSL_0_9_6 · Sep 2024 · source
+ TLS session ticket support shipped Enables stateless TLS session resumption via RFC4507bis session tickets. 7 releases · first seen Apr 2001 ▸
Also counts toward: Ticketing integration
release 7 total
- Adds RFC4507bis session ticket support, allowing stateless TLS session resumption without server-side session cache. OpenSSL_0_9_8f · Sep 2024 · source · release history
- RC4 has been removed from DEFAULT ciphersuites in libssl. OpenSSL_1_1_0 · Sep 2024 · source · release history
-
Adds
SSL_OP_NO_TICKEToption to disable RFC4507 session ticket support 1.0.0 · Mar 2010 · source · release history - Introduce TLS session ticket callback allowing applications to set TLS ticket cipher and HMAC keys for key rollover. 0.9.8h · May 2008 · source · release history
-
Enables server-side RFC 4507 (ticket) support by default in
SSL_CTX, allowing transparent session caching via tickets 0.9.8f · Oct 2007 · source · release history -
Adds
SSL_SESS_CACHE_NO_INTERNAL_STOREand definesSSL_SESS_CACHE_NO_INTERNALas its bitwise OR withSSL_SESS_CACHE_NO_INTERNAL_LOOKUP. 0.9.6h · Dec 2002 · source · release history
+ Secure default configuration shipped Enforces secure defaults by disabling deprecated interfaces, legacy SSLv2 support, weak EXPORT/LOW ciphers, and heartbeats unless explicitly enabled. 6 releases · 1 other source · first seen Mar 2016 ▸
release
-
Deprecated interfaces are hidden by default; applications must define
OPENSSL_USE_DEPRECATEDor use the enable-deprecated config option to access them. 1.1.0 · Aug 2016 · source · release history -
Heartbeat support for TLS is disabled by default; configure with
enable-heartbeatsto re-enable. 1.1.0 · Aug 2016 · source · release history -
Export grade static DH ciphersuites
EXP-DH-RSA-DES-CBC-SHAandEXP-DH-DSS-DES-CBC-SHAare removed. 1.1.0 · Aug 2016 · source · release history - Remove LOW from the DEFAULT cipher list. This removes singles DES from the default. 1.0.1t · May 2016 · source · release history
- SSLv2 is disabled by default in builds unless configured with enable-ssl2 1.0.2g · Mar 2016 · source · release history
- EXPORT and LOW strength ciphers are removed from default builds unless configured with enable-weak-ssl-ciphers 1.0.2g · Mar 2016 · source · release history
example
-
Allow SSLv2 negotiation through SSLv23_method() when OpenSSL was built with enable-ssl2; this does not restore removed weak SSLv2 ciphers.
$ SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv2);1.0.2g · Mar 2016 · source
+ RFC3161 timestamping shipped Adds support for Time Stamp Protocol as defined in RFC3161. 6 releases · first seen Sep 2024 ▸
release
-
The
tsgetutility now requiresNet::Curl::Easy(from the Net-Curl CPAN distribution) instead of the abandonedWWW::Curl::Easy— install it before upgrading. openssl-4.1.0 · Oct 2026 · source · release history -
tsgetnow requiresNet::Curl::Easy(Net-Curl CPAN distribution); the previously usedWWW::Curl::Easyis no longer supported — installNet::Curl::Easybefore upgrading. announced · Sep 2026 · source · release history -
Changes
tsgetutility to useNet::Curl::Easy(Net-Curl CPAN distribution) instead of the abandonedWWW::Curl::Easy. announced · Sep 2026 · source · release history - Adds AVX-512-optimized SHAKE x4 operations for ML-DSA on x86_64, AVX-512 and VAES optimizations for AES-CBC decryption on x86_64, optimized ML-DSA and ML-KEM NTT operations on ppc64le, and optimized ML-DSA operations on s390x and x86_64. announced · Sep 2026 · source · release history
- Adds RFC3161 time stamp support. OpenSSL_1_0_0 · Sep 2024 · source · release history
- Adds Next Protocol Negotiation (NPN) extension support. OpenSSL_1_0_1 · Sep 2024 · source · release history
+ Pluggable provider framework shipped Introduces a pluggability framework replacing the ENGINE API for modular cryptographic implementations. 5 releases · 1 other source · first seen Dec 2021 ▸
Also counts toward: Plugin system
release
- Adds FIPS 186-5 deterministic ECDSA signature generation to the FIPS provider. openssl-3.6.0 · Oct 2025 · source · release history
-
New
enable-fips-jitterbuild configuration option to make the FIPS provider use the JITTER entropy seed source. openssl-3.5.0 · Apr 2025 · source · release history - Adds providers, a new pluggability framework replacing the ENGINE API, enabling fully modular cryptographic implementations. openssl-3.0.0 · Sep 2024 · source · release history
- MD2, MD4, MDC2, WHIRLPOOL, and RIPEMD-160 EVP digests are moved to the legacy provider; setups not loading the legacy provider will lose access to these digests. openssl-3.0.0 · Sep 2024 · source · release history
- Allow fetching an operation from the provider that owns an unexportable key as a fallback if allowed by the property query. 3.0.1 · Dec 2021 · source · release history
example
-
Install the FIPS module with self-tests deferred until first use, reducing startup time in environments where immediate validation isn't required.
$ openssl fipsinstall -out fips.conf -module fips.so -defer_testsopenssl-4.0.0 · Apr 2026 · source
+ New configuration handling routines shipped Introduces new NCONF routines for parsing and managing configuration files. 6 releases · first seen May 1999 ▸
release
-
New
openssl configutlutility for parsing and dumping the resolved OpenSSL configuration file. openssl-3.6.0 · Oct 2025 · source · release history - NCONF: new configuration handling routines. OpenSSL_0_9_7 · Sep 2024 · source · release history
- New ASN.1 mini-compiler usable through the OpenSSL configuration file. OpenSSL_0_9_8 · Sep 2024 · source · release history
-
SSL_CONF*functions provide a common framework for application configuration using configuration files or command lines 1.0.2 · Jan 2015 · source · release history - Adds CONF_set_default_method() to set the default configuration file reader class 0.9.6 · Sep 2000 · source · release history
-
Adds
OPENSSL_CONFandSSLEAY_CONFenvironment variable support for config file paths incautility. 0.9.3 · May 1999 · source · release history
+ DTLS-SRTP negotiation shipped Negotiates secure media transport using DTLS-SRTP. 6 releases · first seen May 1999 ▸
release
-
Most libcrypto and libssl public structures are now opaque (including BIGNUM,
EC_KEY, DH, DSA, RSA, BIO,EVP_MD_CTX,EVP_CIPHER_CTX,EVP_PKEY,HMAC_CTX, X509,X509_CRL,X509_STORE, and related types), breaking code that accesses their members directly. OpenSSL_1_1_0 · Sep 2024 · source · release history -
Add the
-ktlsoption tos_serverands_clientcommands to enable the KTLS support. 3.2.0 · Nov 2023 · source · release history - Extended Kernel TLS (KTLS) to support TLS 1.3 receive offload. 3.2.0 · Nov 2023 · source · release history
- Added support for certificate compression (RFC8879). 3.2.0 · Nov 2023 · source · release history
- Add DTLS-SRTP negotiation from RFC 5764 1.0.1 · Mar 2012 · source · release history
-
Adds
openssl ca -revoke <certfile>command to revoke certificates by updating index.txt. 0.9.3 · May 1999 · source · release history
+ Secure TLS renegotiation shipped Implements the RFC 5746 extension for secure TLS renegotiation. 6 releases · first seen Nov 2009 ▸
release
- Supports RFC 5746 TLS renegotiation extension, enabling secure renegotiation per the IETF standard. OpenSSL_0_9_8m · Sep 2024 · source · release history
-
Adds
SSL_OP_NO_RENEGOTIATIONoption to disable TLS renegotiation 1.1.0h · Mar 2018 · source · release history -
Add option
SSL_OP_LEGACY_SERVER_CONNECTwhich will allow clients to connect and renegotiate with servers which do not support RI. 0.9.8m · Feb 2010 · source · release history - Add ctrl macro SSL_get_secure_renegotiation_support() which returns 1 if peer supports secure renegotiation and 0 otherwise. 0.9.8m · Feb 2010 · source · release history
-
Implement RFC5746. Re-enable renegotiation but require the extension as needed. Replace
SSL3_FLAGS_ALLOW_UNSAFE_LEGACY_RENEGOTIATIONbySSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATIONwhich can be set with SSL_CTX_set_options(). 0.9.8m · Feb 2010 · source · release history - Disables SSL renegotiation completely as the default behavior to mitigate CVE-2009-3555. 0.9.8l · Nov 2009 · source · release history
+ Whirlhash hash algorithm support shipped Provides hashing capabilities using the Whirlpool algorithm. 5 releases · first seen Nov 2023 ▸
release
-
The
tsgetutility now requiresNet::Curl::Easy(from the Net-Curl CPAN distribution) instead of the abandonedWWW::Curl::Easy— installNet::Curl::Easybefore upgrading. announced · Sep 2026 · source · release history - Adds cSHAKE function support per NIST SP 800-185. openssl-4.0.0 · Apr 2026 · source · release history
- Adds Whirlpool hash algorithm. OpenSSL_1_0_0 · Sep 2024 · source · release history
- Adds API to disable implicit QUIC event processing, allowing manual control of event handling. 3.3.0 · Apr 2024 · source · release history
- Added new SSL APIs to aid in efficiently implementing TLS/SSL fingerprinting. 3.2.0 · Nov 2023 · source · release history
+ Asynchronous cryptographic operations shipped Supports non-blocking, asynchronous execution of cryptographic operations in libcrypto and libssl. 5 releases · first seen Oct 2005 ▸
release
-
The default encryption cipher for the
req,cms, andsmimeapplications is changed fromdes-ede3-cbctoaes-256-cbc; existing scripts or interoperability flows that rely on the 3DES default will produce different output. openssl-3.5.0 · Apr 2025 · source · release history - Adds support for asynchronous crypto operations in libcrypto and libssl. OpenSSL_1_1_0 · Sep 2024 · source · release history
- The key-generation and primality testing progress mechanism now requires a structure containing the ticker function and an argument, rather than a plain callback. OpenSSL_0_9_8 · Sep 2024 · source · release history
-
Adds ASYNC_start_job() and
SSL_MODE_ASYNCsupport for asynchronous cryptographic operations. 1.1.0 · Aug 2016 · source · release history - Enables default use of fixed-window constant-time mod_exp for RSA, DSA, and DH private-key operations via the new BN_mod_exp_mont_consttime() implementation 0.9.7h · Oct 2005 · source · release history
+ CMP implementation shipped Implements Certificate Management Protocol including CRMF and HTTP transfer, with CLI tools for client and server roles. 5 releases · first seen Apr 2024 ▸
Also counts toward: Command-line interface
release
- Adds support for central key generation in CMP (Certificate Management Protocol). openssl-3.5.0 · Apr 2025 · source · release history
-
Added CMP support for retrieving certificate request templates (
-template) and CRLs (-crlcert,-oldcrl,-crlout,-crlform>,-rsp_crl). 3.4.0 · Oct 2024 · source · release history -
Adds a full Certificate Management Protocol (CMP, RFC 4210) implementation — including CRMF (RFC 4211) and HTTP transfer (RFC 6712) — with a new
cmpCLI app covering both client and server roles. openssl-3.0.0 · Sep 2024 · source · release history - New OCSP library section for Online Certificate Status Protocol support. OpenSSL_0_9_7 · Sep 2024 · source · release history
-
Adds
-profileCLI option to enablecertProfilerequest message header in CMPv3 (RFC 9480/9483). 3.3.0 · Apr 2024 · source · release history
+ X.509 path validation parameterization shipped Allows fine-grained control over X.509 certificate path validation parameters. 5 releases · first seen Mar 1999 ▸
release
- Added support for directly fetched composite signature algorithms (e.g. RSA-SHA2-256) in EVP signing APIs. 3.4.0 · Oct 2024 · source · release history
-
New
X509_VERIFY_PARAMstructure enabling parametrisation of X.509 path validation. OpenSSL_0_9_8 · Sep 2024 · source · release history -
Implement new
X509_VERIFY_PARAMstructure with policy checking capabilities for standard verification code 0.9.8 · Jul 2005 · source · release history - AES_cbc_encrypt() now outputs an exact multiple of blocks during encryption 0.9.7c · Sep 2003 · source · release history
-
Adds support for new TLS ciphersuites:
TLS_RSA_EXPORT56_WITH_RC4_56_MD5,TLS_RSA_EXPORT56_WITH_RC2_CBC_56_MD5andTLS_RSA_EXPORT56_WITH_DES_CBC_SHA. 0.9.2b · Mar 1999 · source · release history
+ HMAC computation utility shipped Provides a CLI command for computing Hash-based Message Authentication Codes. 4 releases · 1 other source · first seen Mar 1999 ▸
Also counts toward: Command-line interface
release
-
Adds
-macand-macoptoptions todgstutility for experimental HMAC viaEVP_PKEYinterface 1.0.0 · Mar 2010 · source · release history - Adds EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free() for opaque context management 0.9.8b · May 2006 · source · release history
-
Add support for generating multi-valued AVAs in
reqanddirNameconfig sections using '+' notation 0.9.8 · Jul 2005 · source · release history -
Adds
ssl/ssl_lib.candssl/ssl.hwith new SSL_need_tmp_rsa(), SSL_set_tmp_rsa(), SSL_set_tmp_dh(), SSL_set_tmp_rsa_callback() and SSL_set_tmp_dh_callback() API to configure temporary RSA/DH keys on a per-connection basis, fixing the no shared cipher problem for DSA certificates in multi-context servers. 0.9.2b · Mar 1999 · source · release history
example
-
Compute an HMAC using the new
openssl maccommand as a quick CLI alternative to external HMAC tools.$ openssl mac -digest SHA256 -macopt key:mysecretkey -in data.bin HMACopenssl-3.0.0 · Sep 2024 · source
+ QUIC protocol support shipped Adds APIs and configuration options for QUIC connection management, including stream buffer querying, polling, event processing control, idle timeout negotiation, and end-of-stream signaling. 5 releases · first seen Apr 2024 ▸
release
- Adds APIs to query size and utilisation of a QUIC stream's write buffer via SSL_get_value_uint(3). 3.3.0 · Apr 2024 · source · release history
- Adds limited non-blocking polling support for QUIC connection and stream objects via SSL_poll(3). 3.3.0 · Apr 2024 · source · release history
- Adds API to disable implicit QUIC event processing, allowing manual control of event handling. 3.3.0 · Apr 2024 · source · release history
- Adds APIs to configure negotiated idle timeout and query additional stream count for QUIC connections. 3.3.0 · Apr 2024 · source · release history
-
Adds API
SSL_write_ex2to send end-of-stream (FIN) condition efficiently for QUIC. 3.3.0 · Apr 2024 · source · release history
+ Data structure renaming shipped Renames legacy `STACK` and `LHASH` API prefixes to `OPENSSL_SK_` and `OPENSSL_LH_` for clarity. 5 releases · first seen Aug 2016 ▸
release
-
OPENSSL_LH_stats and relatedOPENSSL_LHstatistics functions are deprecated from OpenSSL 3.1; definingOPENSSL_NO_DEPRECATED_3_1disables these functions. 3.1.0 · Mar 2023 · source · release history -
Changes
OPENSSL_LH_statsandOPENSSL_LH_stats_bioto report onlynum_items,num_nodesandnum_alloc_nodesstatistics 3.0.3 · May 2022 · source · release history -
Implements new
OPENSSL_str[n]casecmpfunctions for case insensitive string comparison using POSIX locale semantics 3.0.3 · May 2022 · source · release history -
OPENSSL_LH_statsandOPENSSL_LH_stats_biono longer report valid values for any statistics other thannum_items,num_nodesandnum_alloc_nodes3.0.3 · May 2022 · source · release history -
The
STACKandLHASHAPI prefixes are renamed toOPENSSL_SK_andOPENSSL_LH_. 1.1.0 · Aug 2016 · source · release history
+ PKCS#5 v2 password-based key derivation support shipped Adds support for PKCS#5 version 2.0 standard for secure private key export and password-based encryption via the pkcs8 utility. 5 releases · first seen Aug 1999 ▸
Also counts toward: Command-line interface
release
-
Split password based encryption into PBES2 and PBKDF2 functions.1.0.1 · Mar 2012 · source · release history -
Adds the
-passinargument to thedgstcommand for passphrase input control 0.9.7f · Mar 2005 · source · release history -
Adds
-rand fileargument toopenssl reqto extend the PRNG seed 0.9.6 · Sep 2000 · source · release history -
Introduces
randapplication for generating pseudo-random output 0.9.5a · Apr 2000 · source · release history -
Adds
pkcs8application with-v2cipher option for PKCS#5 v2.0 password-based encryption and secure private key export 0.9.4 · Aug 1999 · source · release history
+ AsmMontgomeryMultiplicationPerformanceOptimization shipped Provides assembler-optimized Montgomery multiplication for performance improvements on specific architectures. 4 releases · first seen May 2008 ▸
release
- RISC-V capabilities string format now includes the base architecture and the vector length for the V extension. 3.6.1 · Jan 2026 · source · release history
- Adds assembly implementation for md5 on loongarch64 and optimizes AES-CTR for ARM Neoverse V1/V2. 3.3.0 · Apr 2024 · source · release history
-
Add
enable-montasmConfigure option to try the 32-bit x86 assembler implementation for Montgomery multiplication. 0.9.8h · May 2008 · source · release history -
Add
-DMONT_FROM_WORD___NON_DEFAULT_0_9_8_BUILDC flag to enableBN_from_montgomery_wordperformance improvement. 0.9.8h · May 2008 · source · release history
+ SHA-2 hash algorithm support shipped Adds support for FIPS 180-2 standard SHA-224, SHA-256, SHA-384, and SHA-512 hash algorithms. 4 releases · first seen Nov 2023 ▸
release
-
Added
XOF DIGESTAPI with EVP_xof() helper and updated context size macros for SHAKE digests. 3.4.0 · Oct 2024 · source · release history - Adds FIPS 180-2 hash algorithms: SHA-224, SHA-256, SHA-384, and SHA-512. OpenSSL_0_9_8 · Sep 2024 · source · release history
- Enables AES and SHA3 optimisations on Apple Silicon M3-based MacOS systems. 3.3.0 · Apr 2024 · source · release history
- Added SHA256/192 algorithm support. 3.2.0 · Nov 2023 · source · release history
+ ASN.1 printing shipped Provides functionality to print ASN.1 structures for inspection. 4 releases · first seen May 1999 ▸
Also counts toward: Command-line interface
release
- Adds ASN1 printing support. OpenSSL_1_0_0 · Sep 2024 · source · release history
- Adds new ASN.1 printing functions ASN1_STRING_print_ex() and X509_NAME_print_ex() with RFC2253 support 0.9.6 · Sep 2000 · source · release history
-
Adds hexdumps of unprintable data via
asn1parseusing ASN1_parse_dump() and BIO_dump_indent() 0.9.6 · Sep 2000 · source · release history -
Adds
-outoption toasn1parsecommand for outputting parsed structures to a file. 0.9.3 · May 1999 · source · release history
+ Extended master secret extension shipped Implements the Extended Master Secret extension to prevent session resumption attacks. 4 releases · first seen Sep 2003 ▸
release
- Adds support for extended master secret. OpenSSL_1_1_0 · Sep 2024 · source · release history
-
-ems_checkflag added toopenssl fipsinstallto enforce Extended Master Secret check duringTLS1_PRFKDF 3.1.0 · Mar 2023 · source · release history - ssl3_accept() now only accepts a client certificate if the server requested one, per TLS 1.0/SSL 3.0 specs 0.9.7c · Sep 2003 · source · release history
- ssl3_get_client_hello() tolerates extra data after compression methods for SSL 3.0 (spec compliance) 0.9.7c · Sep 2003 · source · release history
+ Manual certificate chain building shipped Allows explicit construction and validation of SSL/TLS certificate chains by the application. 4 releases · first seen May 1999 ▸
release
- Enables manual certificate chain building in SSL/TLS connections. OpenSSL_0_9_7a · Sep 2024 · source · release history
- Adds support for IPv6 addresses in certificate extensions (RFC 1884 §2.2). OpenSSL_0_9_8 · Sep 2024 · source · release history
-
SSL_MODE_NO_AUTO_CHAINflag to disable automatic SSL certificate chain building. 0.9.7a · Feb 2003 · source · release history -
Adds
SSL_CTX_use_certificate_chain_filefunction to load certificate chains from PEM files. 0.9.3 · May 1999 · source · release history
+ SRP authentication support shipped Implements Secure Remote Password (SRP) protocol support for authentication. 4 releases · first seen Jan 2009 ▸
release
- Adds SRP (Secure Remote Password) support. OpenSSL_1_0_1 · Sep 2024 · source · release history
-
Adds
SRP_VBASE_get1_by_user to handle the fake-user seed with caller-owned return values; callers must free the result. 1.0.2g · Mar 2016 · source · release history -
Adds
experimental-jpakeconfiguration option to the Configure script to enable JPAKE support. 0.9.8j · Jan 2009 · source · release history -
Enables JPAKE support in
s_clientands_serverfor demonstration purposes. 0.9.8j · Jan 2009 · source · release history
+ SNI client hostname support shipped Enables clients to specify and retrieve Server Name Indication hostnames during TLS handshakes. 4 releases · first seen Oct 2007 ▸
Also counts toward: Command-line interface
release
-
Adds SNI extension sending to
s_clientby default (overridden by-noservername) 1.1.1 · Sep 2018 · source · release history -
Adds
-servernameoption toopenssl s_clientcommand 1.0.0 · Mar 2010 · source · release history - Adds new API functions SSL_get_servername(), SSL_get_servername_type(), and SSL_set_SSL_CTX() to manage server name extensions 0.9.8f · Oct 2007 · source · release history
-
Adds
openssl s_client-servernameoption to specify server hostnames 0.9.8f · Oct 2007 · source · release history
+ PSK ciphersuite support shipped Enables Pre-Shared Key (PSK) TLS ciphersuites per RFC4279. 3 releases · first seen Sep 2024 ▸
release
- Implemented validation of the minimal length of PSK identity being of at least one byte long, as required per RFC 8446. 4.0.1 · Jun 2026 · source · release history
- Adds server-side QUIC support (RFC 9000), enabling OpenSSL-based servers to accept QUIC connections natively. openssl-3.5.0 · Apr 2025 · source · release history
- Adds RFC4279 PSK ciphersuite support. OpenSSL_1_0_0 · Sep 2024 · source · release history
+ Unified key processing utility shipped Provides a generic CLI utility for processing any asymmetric key type and its parameters. 3 releases · first seen Mar 2010 ▸
Also counts toward: Command-line interface
release
- Adds encapsulation and decapsulation operations to the pkeyutl command. 3.4.0 · Oct 2024 · source · release history
-
Adds
-macalgoption topkcs12utility to set alternative digest MAC 1.0.0 · Mar 2010 · source · release history -
Adds new utility
pkeyandpkeyparamfor processing any key type 1.0.0 · Mar 2010 · source · release history
+ Certificate Transparency support shipped Implements support for Certificate Transparency logs and extensions. 3 releases · first seen Jan 2015 ▸
Also counts toward: Command-line interface
release
- Adds Certificate Transparency support. OpenSSL_1_1_0 · Sep 2024 · source · release history
-
Adds
openssl infocommand and OPENSSL_info() API for querying built-in configuration data. openssl-3.0.0 · Sep 2024 · source · release history - Add support for the SignedCertificateTimestampList certificate and OCSP response extensions from RFC6962 1.0.2 · Jan 2015 · source · release history
+ EVP Parameter Builder API shipped Provides a simplified builder API for constructing OSSL_PARAM arrays for use with provider interfaces. 3 releases · first seen Dec 2021 ▸
release
-
Adds
OSSL_PARAM_BLD, a simpler builder API for constructingOSSL_PARAMarrays. openssl-3.0.0 · Sep 2024 · source · release history -
Allow sign extension in OSSL_PARAM_allocate_from_text() for
OSSL_PARAM_INTEGERand reject negative numbers forOSSL_PARAM_UNSIGNED_INTEGER. 3.0.1 · Dec 2021 · source · release history -
Make
OSSL_PARAM_BLD_push_BN{,_pad}() return an error on negative numbers. 3.0.1 · Dec 2021 · source · release history
+ GOST algorithm support shipped Adds support for GOST cryptographic algorithms within PKCS#7 and CMS structures. 3 releases · first seen Mar 2012 ▸
release
- Adds PKCS#7 and CMS GOST support. OpenSSL_1_0_0 · Sep 2024 · source · release history
- Adds SSL/TLS GOST ciphersuite support. OpenSSL_1_0_0 · Sep 2024 · source · release history
-
Password based recipient info support for CMS library: implementing RFC32111.0.1 · Mar 2012 · source · release history
+ MAC computation shipped Computes Message Authentication Codes via the EVP_MAC API. 3 releases · first seen Dec 2002 ▸
Also counts toward: Command-line interface
release
-
Adds new
openssl maccommand for MAC computation via theEVP_MACAPI. openssl-3.0.0 · Sep 2024 · source · release history -
Adds
RFC 3779support for resource allocation in certificates 0.9.8e · Feb 2007 · source · release history - Adds OPENSSL_cleanse() function to clear memory with alternating values, preventing compiler optimization of memset calls 0.9.6h · Dec 2002 · source · release history
+ NSA Suite B cryptography compliance shipped Provides support for NSA Suite B cryptographic algorithms for TLS 1.2 and DTLS 1.2. 2 releases · 1 other source · first seen Jan 2015 ▸
release
- Adds Suite B support for TLS 1.2 and DTLS 1.2, enabling NSA Suite B cryptography compliance. OpenSSL_1_0_2 · Sep 2024 · source · release history
- New Suite B modes for TLS code using SUITEB128, SUITEB192 or SUITEB128ONLY cipherstring 1.0.2 · Jan 2015 · source · release history
example
-
Configure OpenSSL to use only Suite B 128-bit ciphersuites via the cipherstring.
$ "SUITEB128"1.0.2 · Jan 2015 · source
+ OCB mode support shipped Adds support for Offset Codebook Mode (OCB) encryption in libcrypto. 3 releases · first seen Mar 2012 ▸
release
- Adds support for OCB mode in libcrypto. OpenSSL_1_1_0 · Sep 2024 · source · release history
- Adds support for OCB block cipher mode via the EVP interface. 1.1.0 · Aug 2016 · source · release history
-
Expand range of ctrls for AES GCM.Permit setting invocation field on decrypt and retrieval of invocation field only on encrypt. 1.0.1 · Mar 2012 · source · release history
+ SCTP transport support shipped Enables the use of Stream Control Transmission Protocol (SCTP) as a transport layer. 3 releases · first seen Dec 2001 ▸
release
- Adds SCTP (Stream Control Transmission Protocol) transport support. OpenSSL_1_0_1 · Sep 2024 · source · release history
-
enable-camelliaconfigure option allows building with Camellia symmetric ciphers (128/192/256-bit) and TLS ciphersuites from RFC 4132 0.9.8c · Sep 2006 · source · release history - Adds BN_pseudo_rand_range() function equivalent to BN_rand_range() but based on BN_pseudo_rand() 0.9.6c · Dec 2001 · source · release history
+ Threading API shipped Provides a new application programming interface for handling threading and locks. 3 releases · first seen May 1999 ▸
release
- Adds new threading API. OpenSSL_1_1_0 · Sep 2024 · source · release history
-
Adds
OSSL_LIB_CTX, a library context enabling multiple isolated libcrypto instances within a single process. openssl-3.0.0 · Sep 2024 · source · release history -
Adds
threadsandno-threadsConfigure options for systems with known compiler thread support. 0.9.3 · May 1999 · source · release history
+ TLS/DTLS heartbeat protocol shipped Implements the TLS/DTLS heartbeat extension for connection keep-alive. 3 releases · first seen Oct 2004 ▸
release
- Adds TLS/DTLS heartbeat support. OpenSSL_1_0_1 · Sep 2024 · source · release history
-
Add support for TLS/DTLS heartbeats1.0.1 · Mar 2012 · source · release history - Adds Delta CRL support in the extension code. 0.9.7e · Oct 2004 · source · release history
+ Uniform object storage via URI shipped Provides a unified, URI-based interface for reading keys, certificates, and CRLs. 3 releases · first seen Sep 2024 ▸
release
- New STORE module provides a uniform, URI-based reader for keys, certificates, CRLs, and other objects. OpenSSL_1_1_1 · Sep 2024 · source · release history
- Shared builds are now the default when possible. OpenSSL_1_1_0 · Sep 2024 · source · release history
- New STORE library providing a unified interface to data repositories for keys, certificates, CRLs, and arbitrary blobs. OpenSSL_0_9_8 · Sep 2024 · source · release history
+ TLSv1.3 configuration management shipped Provides APIs to configure TLSv1.3 specific ciphersuites separately from legacy protocol versions. 3 releases · first seen Sep 2018 ▸
release
-
Adds new option
SSL_OP_PREFER_NO_DHE_KEXto prefer PSK-only key exchange in TLS 1.3. 3.3.0 · Apr 2024 · source · release history - Adds SSL_CTX_set_ciphersuites() and SSL_set_ciphersuites() API for TLSv1.3 ciphersuite configuration 1.1.1 · Sep 2018 · source · release history
- TLSv1.3 ciphersuites are separated from TLSv1.2 configuration; legacy TLSv1.2 config may inadvertently disable TLSv1.3 if not explicitly configured via SSL_CTX_set_ciphersuites() 1.1.1 · Sep 2018 · source · release history
+ OpenSSL algorithm enumeration capabilities shipped Allows listing supported public key, message digest, and cipher algorithms via the CLI. 3 releases · first seen Mar 2010 ▸
Also counts toward: Command-line interface
release
-
Adds
RIPEMD160to the default provider so it is available for use without loading external providers. 3.0.7 · Nov 2022 · source · release history -
Adds
list-public-key-algorithmsoption toopensslutility 1.0.0 · Mar 2010 · source · release history -
Adds
list-message-digest-algorithmsandlist-cipher-algorithmsoptions toopensslutility 1.0.0 · Mar 2010 · source · release history
+ SNI server configuration support shipped Allows servers to handle Server Name Indication (SNI) callbacks and manage multiple certificates for different hostnames via API and CLI tools. 3 releases · first seen Oct 2007 ▸
Also counts toward: Command-line interface
release
-
Adds
-servername_host,-cert2,-key2, and-servername_fataloptions toopenssl s_servercommand 1.0.0 · Mar 2010 · source · release history -
Adds new CTRL codes
SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG, andSSL_CTRL_SET_TLSEXT_HOSTNAMEfor SNI callback configuration 0.9.8f · Oct 2007 · source · release history -
Adds
openssl s_server-servername_host,-cert2,-key2, and-servername_fataloptions for SNI testing 0.9.8f · Oct 2007 · source · release history
+ FIPS approval indicators shipped Exposes a per-operation 'fips-indicator' context parameter on FIPS provider algorithms that returns 1 when the operation is approved, allowing callers to distinguish approved from unapproved algorithm usage at runtime. 1 release · 1 other source · first seen Oct 2024 ▸
release
- Added FIPS indicators to allow logging of unapproved algorithms via OSSL_INDICATOR_set_callback() in the FIPS provider. 3.4.0 · Oct 2024 · source · release history
docs
-
Every algorithm implementation advertised with the property by the OpenSSL FIPS provider exposes fips-indicator as a gettable context parameter. The getter returns 1 when the operation is approved. An absent indicator must not be interpreted as approval. Algorithms advertised with
fips=noare unapproved. docs update · Sep 2026 · source
+ ClientHello callback shipped Provides a callback mechanism to modify SSL objects before TLS handshake processing begins. 2 releases · first seen Sep 2024 ▸
release
- Adds support for RFC 8701 GREASE (Generate Random Extensions And Sustain Extensibility). announced · Sep 2026 · source · release history
- New ClientHello callback enables adjustment of the SSL object before handshake processing begins. OpenSSL_1_1_1 · Sep 2024 · source · release history
+ Post-Quantum Cryptography (PQC) support shipped Adds initial support for Post-Quantum Cryptography algorithms, including hybrid key exchange groups over DTLS 1.3. 2 releases · first seen Apr 2026 ▸
release
- Enables Post-Quantum Cryptography (PQC) algorithm support over DTLS 1.3, building on the PQC foundation introduced in OpenSSL 3.5. announced · Sep 2026 · source · release history
-
Adds SM2/SM3 signature algorithm (
sm2sig_sm3), key exchange groupcurveSM2, and post-quantum hybrid groupcurveSM2MLKEM768per RFC 8998. openssl-4.0.0 · Apr 2026 · source · release history
+ Platform-specific RNG support shipped Provides access to native random number generation sources on specific hardware platforms, such as Arm CPUs. 2 releases · first seen Mar 2023 ▸
release
-
Added
JITTERrandom seed source using a statically linked jitterentropy library. 3.4.0 · Oct 2024 · source · release history - RNDR and RNDRRS random number generation support added for Arm CPUs (aarch64) via provider functions 3.1.0 · Mar 2023 · source · release history
+ Dynamic engine loading on Win32 shipped Enables the compilation and dynamic loading of cryptographic engines on Windows platforms. 2 releases · first seen May 1999 ▸
release
- Built-in dynamic engine compilation support on Win32 allows engines to be compiled and loaded dynamically on that platform. OpenSSL_0_9_8b · Sep 2024 · source · release history
-
Adds
rsarefConfigure option. 0.9.3 · May 1999 · source · release history
+ EVP-layer MAC API shipped Adds a unified EVP layer for Message Authentication Codes supporting BLAKE2, CMAC, GMAC, HMAC, KMAC, POLY1305, and SIPHASH. 2 releases · first seen Mar 2023 ▸
release
-
Adds
EVP_MAC, an EVP-layer MAC API supporting BLAKE2, CMAC, GMAC, HMAC, KMAC, POLY1305, and SIPHASH. openssl-3.0.0 · Sep 2024 · source · release history - KMAC support added for KBKDF 3.1.0 · Mar 2023 · source · release history
+ MD4 digest algorithm shipped Adds support for the MD4 hash algorithm. 2 releases · first seen Aug 1999 ▸
release
- Adds MD4 digest algorithm support. OpenSSL_0_9_6 · Sep 2024 · source · release history
- The EVP_PBE_CipherInit() function signature changed to accept a parameter argument instead of literal salt and iteration count values; EVP_PBE_ALGOR_CipherInit() has been deleted 0.9.4 · Aug 1999 · source · release history
+ Opaque PRF input extension shipped Implements the RFC4279 Opaque PRF Input TLS extension. 2 releases · first seen Mar 2010 ▸
release
- Adds Opaque PRF Input TLS extension support. OpenSSL_1_0_0 · Sep 2024 · source · release history
- Adds SSL_CTX_set_tlsext_opaque_prf_input_callback() function for opaque PRF input TLS extension 1.0.0 · Mar 2010 · source · release history
+ PVK file and keyblob support shipped Reads and writes keys using Microsoft PVK files and keyblobs. 2 releases · first seen Aug 1999 ▸
Also counts toward: Command-line interface
release
- Adds integrated support for PVK files and keyblobs. OpenSSL_1_0_0 · Sep 2024 · source · release history
-
Adds
pkcs8application with-v2cipher option for PKCS#5 v2.0 password-based encryption and secure private key export 0.9.4 · Aug 1999 · source · release history
+ Structured error reporting shipped Provides macros for raising structured errors with data contexts. 2 releases · first seen Feb 2003 ▸
release
- Adds error raising macros ERR_raise() and ERR_raise_data() for structured error reporting. openssl-3.0.0 · Sep 2024 · source · release history
-
no-erroption now controls error text footprint in libcrypto without removing routines. 0.9.7a · Feb 2003 · source · release history
+ TLS Key Material Exporter shipped Exports key material from TLS/DTLS sessions for external use via RFC 5705. 2 releases · first seen Mar 2012 ▸
release
- Adds RFC 5705 TLS key material exporter. OpenSSL_1_0_1 · Sep 2024 · source · release history
- Add TLS key material exporter from RFC 5705 1.0.1 · Mar 2012 · source · release history
+ TLS Max Fragment Length shipped Supports the negotiation and handling of TLS Maximum Fragment Length extensions. 2 releases · first seen Sep 2018 ▸
release
- Adds Maximum Fragment Length TLS extension negotiation and support. OpenSSL_1_1_1 · Sep 2024 · source · release history
- Adds Maximum Fragment Length TLS extension negotiation support (RFC6066) 1.1.1 · Sep 2018 · source · release history
+ OCSP responder multi-process support shipped Enables the `ocsp` CLI tool to spawn multiple child processes for handling OCSP requests in responder mode. 2 releases · first seen Sep 2018 ▸
Also counts toward: Command-line interface
release
-
Adds
-multi <N>option toocspcommand to spawn N child processes for OCSP responder mode 1.1.1 · Sep 2018 · source · release history -
Changes default behavior of
ocspresponder to log via syslog(3) in-multimode 1.1.1 · Sep 2018 · source · release history
+ Configure option removal shipped Removes legacy configure options such as `--install_prefix` and renames variables like `INSTALL_PREFIX` to `DESTDIR`. 2 releases · first seen Aug 2016 ▸
release
-
Configure options
--install_prefixis removed. 1.1.0 · Aug 2016 · source · release history -
The
INSTALL_PREFIXMakefile variable is renamed toDESTDIR. 1.1.0 · Aug 2016 · source · release history
+ Flexible digest and signature configuration shipped Supports selecting alternative MAC algorithms for PKCS#12 containers and custom signing parameters for the dgst utility. 2 releases · first seen Mar 2010 ▸
Also counts toward: Command-line interface
release
-
Adds
-macalgoption topkcs12utility to set alternative digest MAC 1.0.0 · Mar 2010 · source · release history -
Adds
-sigoptoption todgstutility to use alternative signing parameters like X9.31 or PSS 1.0.0 · Mar 2010 · source · release history
+ TLS constant-time implementation shipped Enables constant-time modular exponentiation for RSA, DSA, and DH private-key operations to prevent timing side-channel attacks. 2 releases · first seen Oct 2005 ▸
release
- Enables default use of fixed-window constant-time mod_exp for RSA, DSA, and DH private-key operations via the new BN_mod_exp_mont_consttime() implementation 0.9.7h · Oct 2005 · source · release history
-
Adds
BN_FLG_EXP_CONSTTIMEflag to enable constant-time modular exponentiation for RSA, DSA, and DH private-key operations 0.9.7h · Oct 2005 · source · release history
+ ASN.1 extension syntax support shipped Supports IPv6 addresses in certificate extensions and multi-valued AVAs in config sections via specific syntax notations. 2 releases · first seen Jul 2005 ▸
release
-
Add support for generating multi-valued AVAs in
reqanddirNameconfig sections using '+' notation 0.9.8 · Jul 2005 · source · release history - Support IPv6 addresses in certificate extensions using RFC1884 format syntax 0.9.8 · Jul 2005 · source · release history
+ Elbrus2000 architecture support shipped Adds initial build and runtime support for the Elbrus2000 (e2k) processor architecture. 1 release · first seen Oct 2026 ▸
release
-
Adds initial support for the Elbrus2000 (
e2k) architecture. openssl-4.1.0 · Oct 2026 · source · release history
+ GREASE extension support shipped Implements RFC 8701 GREASE (Generate Random Extensions And Sustain Extensibility) to improve TLS interoperability by sending random values in extension fields. 1 release · first seen Oct 2026 ▸
release
- Adds RFC 8701 GREASE (Generate Random Extensions And Sustain Extensibility) support. openssl-4.1.0 · Oct 2026 · source · release history
+ Ascon-AEAD128 cipher support documented Adds support for the Ascon-AEAD128 cipher algorithm via EVP_CIPHER implementations. 1 other source · first seen Sep 2026 ▸
docs
-
EVP_CIPHER-ASCON-AEAD128 The Ascon-AEAD128EVP_CIPHERimplementations docs update · Sep 2026 · source
+ Attribute Certificate support shipped Adds public API support for Attribute Certificates as defined in RFC 5755. 1 release · first seen Oct 2024 ▸
release
- Added Attribute Certificate (RFC 5755) support via public API. 3.4.0 · Oct 2024 · source · release history
+ JITTER random seed source shipped Adds a jitterentropy-based random seed source for the random number generator. 1 release · first seen Oct 2024 ▸
release
-
Added
JITTERrandom seed source using a statically linked jitterentropy library. 3.4.0 · Oct 2024 · source · release history
+ TLS integrity-only cipher support shipped Adds support for TLS integrity-only cipher suites (SHA256 and SHA384) as defined in RFC 9150. 1 release · first seen Oct 2024 ▸
release
-
Added TLS integrity-only cipher suites
TLS_SHA256_SHA256andTLS_SHA384_SHA384(RFC 9150). 3.4.0 · Oct 2024 · source · release history
+ Brainpool curve support shipped Adds support for TLS connections using Brainpool elliptic curves. 1 release · first seen Sep 2024 ▸
release
- Adds TLS Brainpool curve support. OpenSSL_1_0_2 · Sep 2024 · source · release history
+ ChaCha20-Poly1305 Support shipped Adds support for the ChaCha20 cipher and Poly1305 MAC to both libcrypto and libssl. 1 release · first seen Sep 2024 ▸
release
- Adds ChaCha20 and Poly1305 support to both libcrypto and libssl. OpenSSL_1_1_0 · Sep 2024 · source · release history
+ DANE TLSA peer authentication shipped Supports RFC6698/RFC7671 DANE TLSA extensions for authenticating peers via DNSSEC. 1 release · first seen Sep 2024 ▸
release
- Adds support for RFC6698/RFC7671 DANE TLSA peer authentication. OpenSSL_1_1_0 · Sep 2024 · source · release history
+ DSA with SHA-2 signatures shipped Adds support for DSA signature types using SHA-224 and SHA-256. 1 release · first seen Sep 2024 ▸
release
- Adds dsa-with-SHA224 and dsa-with-SHA256 signature types. OpenSSL_1_0_0 · Sep 2024 · source · release history
+ ECDH with SHA-2 support shipped Enables Elliptic Curve Diffie-Hellman key exchange using SHA-2 based signature algorithms. 1 release · first seen Sep 2024 ▸
release
- Supports ECDH cipher suites for certificates using SHA-2 algorithms. OpenSSL_1_0_0e · Sep 2024 · source · release history
+ FIPS provider extended algorithms shipped Adds X25519, X448, Ed25519, Ed448, SHAKE128, and SHAKE256 to the FIPS crypto provider. 1 release · first seen Sep 2024 ▸
release
- Includes X25519, X448, Ed25519, Ed448, SHAKE128, and SHAKE256 in the FIPS provider. openssl-3.0.0 · Sep 2024 · source · release history
+ Stateless TLS server mode shipped Enables stateless TLS operation for servers, allowing connection handling without retaining session state. 1 release · first seen Sep 2024 ▸
release
- Supports stateless TLS server mode and configurable session ticket support under TLSv1.3. OpenSSL_1_1_1 · Sep 2024 · source · release history
+ Streaming PKCS#7/CMS encoding shipped Adds support for streaming ASN.1 encoding for large PKCS#7 and CMS structures. 1 release · first seen Sep 2024 ▸
release
- Adds streaming ASN1 encode support for PKCS#7 and CMS. OpenSSL_1_0_0 · Sep 2024 · source · release history
+ Strict X.509 verification shipped Enforces strict verification rules disallowing explicit curve parameters in verification chains. 1 release · first seen Sep 2024 ▸
release
-
Enforces disallowance of explicit curve parameters in verification chains when
X509_V_FLAG_X509_STRICTis set. OpenSSL_1_1_1h · Sep 2024 · source · release history
+ TLS padding extension workaround shipped Adds a workaround for TLS padding extension issues to improve compatibility with broken servers. 1 release · first seen Sep 2024 ▸
release
- Add TLS padding extension workaround for broken servers OpenSSL_1_0_1g · Sep 2024 · source · release history
+ HPKE support shipped Enables Hybrid Public Key Encryption operations as defined in RFC9180. 1 release · first seen Nov 2023 ▸
release
- Added support for Hybrid Public Key Encryption (HPKE) as defined in RFC9180. 3.2.0 · Nov 2023 · source · release history
+ Digest context management shipped Provides functionality to manage the state of cryptographic digest contexts, including copying uninitialized states. 1 release · first seen Dec 2021 ▸
release
-
Allow copying uninitialized digest contexts with
EVP_MD_CTX_copy_ex. 3.0.1 · Dec 2021 · source · release history
+ Generated file build preparation shipped Provides a build target to generate required source files on a host system before cross-compiling. 1 release · first seen Mar 2018 ▸
release
- Adds build_all_generated to prepare generated files on a system with tools such as Perl, before completing the build on another system. 1.1.0h · Mar 2018 · source · release history
+ ASN.1 embedding support shipped Adds `ASN1_EMBED` macro to allow embedding ASN.1 structures within a parent structure without dynamic allocation. 1 release · first seen Aug 2016 ▸
release
-
Adds
ASN1_EMBEDmacro to embed ASN.1 structures within a parent struct without allocation. 1.1.0 · Aug 2016 · source · release history
+ Cipher pipeline processing shipped Enables internal pipeline processing for ciphers that support the `EVP_CIPH_FLAG_PIPELINE` flag to improve throughput. 1 release · first seen Aug 2016 ▸
release
-
Enables pipeline processing for ciphers supporting
EVP_CIPH_FLAG_PIPELINEvia libssl. 1.1.0 · Aug 2016 · source · release history
+ Compile-time TLS 1.2 client restriction removal shipped Removes the ability to disable TLS 1.2 support in the OpenSSL TLS client via compile-time flags. 1 release · first seen Aug 2016 ▸
release
-
Support for disabling TLS 1.2 in the OpenSSL TLS client at compile time via
OPENSSL_NO_TLS1_2_CLIENTis removed. 1.1.0 · Aug 2016 · source · release history
+ Deprecated API hiding shipped Hides deprecated interfaces by default, requiring explicit configuration or macros to access them. 1 release · first seen Aug 2016 ▸
release
-
Deprecated interfaces are hidden by default; applications must define
OPENSSL_USE_DEPRECATEDor use the enable-deprecated config option to access them. 1.1.0 · Aug 2016 · source · release history
+ Global cleanup deprecation shipped Deprecates global cleanup functions such as `EVP_cleanup()` and `SSL_COMP_free_compression_methods()`, making them no-ops. 1 release · first seen Aug 2016 ▸
release
- Many global cleanup functions (e.g. EVP_cleanup(), SSL_COMP_free_compression_methods()) are deprecated and become no-ops. 1.1.0 · Aug 2016 · source · release history
+ Opaque method structures shipped Introduces opaque `*_METHOD` structures (e.g., EC_KEY_METHOD, RSA_METHOD) to encapsulate internal implementation details. 1 release · first seen Aug 2016 ▸
release
-
Introduces opaque
EC_KEY_METHOD,DH_METHOD,RSA_METHOD,DSA_METHOD, andBIO_METHODstructures with new constructor/destructor APIs. 1.1.0 · Aug 2016 · source · release history
+ Session ID export formats shipped Extends the session management CLI tool to support exporting session IDs in NSS output format. 1 release · first seen Aug 2016 ▸
Also counts toward: Command-line interface
release
-
Adds NSS output format to the
sess_idcommand line tool for session export. 1.1.0 · Aug 2016 · source · release history
+ SSLv2 header removal shipped Removes the `ssl23.h` header file as part of the deprecation and removal of legacy SSLv2 support. 1 release · first seen Aug 2016 ▸
release
-
The
ssl23.hheader file is removed. 1.1.0 · Aug 2016 · source · release history
+ Unified build system shipped Replaces the traditional Makefile-based configuration with a new `build.info` based system for managing compilation and dependencies. 1 release · first seen Aug 2016 ▸
release
-
New unified build system replaces the old Makefile-based configuration, using
build.infofiles andconfigdata.pm. 1.1.0 · Aug 2016 · source · release history
+ Windows UTF-8 support shipped Adds support for passing UTF-8 arguments to OpenSSL tools on Windows via the `OPENSSL_WIN32_UTF8` environment variable. 1 release · first seen Aug 2016 ▸
release
-
Adds
OPENSSL_WIN32_UTF8environment variable to enable UTF-8 arguments on Windows. 1.1.0 · Aug 2016 · source · release history
+ TLS callback order adjustment shipped Modifies the TLS ALPN callback invocation order to occur after SNI/servername callbacks, allowing updates to SSL_CTX context. 1 release · first seen May 2016 ▸
release
-
Modify behavior of ALPN to invoke callback after SNI/servername callback, such that updates to the
SSL_CTXaffect ALPN. 1.0.1t · May 2016 · source · release history
+ Connection information reporting shipped Provides options to display brief summaries of SSL/TLS connection parameters for debugging and inspection. 1 release · first seen Jan 2015 ▸
Also counts toward: Command-line interface
release
-
New options
-brieffor s_client and s_server to print out a brief summary of connection parameters 1.0.2 · Jan 2015 · source · release history
+ CRL management utilities shipped Provides functions and CLI options to generate, diff, and download Certificate Revocation Lists (CRLs) for verification purposes. 1 release · first seen Jan 2015 ▸
Also counts toward: Command-line interface
release
-
New options
-CRLand-CRLformfor s_client and s_server for CRLs 1.0.2 · Jan 2015 · source · release history
+ SHA-1 default hash policy for certificates shipped Changes the default cryptographic hash algorithm for certificate directory links and subject/issuer hashes from MD5 to SHA-1. 1 release · first seen Mar 2010 ▸
release
-
The
-subject_hashand-issuer_hashoptions are replaced by-subject_hash_oldand-issuer_hash_oldfor compatibility; the default hash format for certificate directory links is now SHA1 instead of MD5, requiringc_rehashto rebuild symbolic links. 1.0.0 · Mar 2010 · source · release history
+ Application protocol emulation in s_client shipped Extends the SSL client tool to support EHLO and CAPABILITY handshake operations for SMTP and IMAP protocol testing. 1 release · first seen Feb 2007 ▸
release
-
Extends
s_clientSMTP and IMAP protocol emulation to use EHLO or CAPABILITY handshake 0.9.8e · Feb 2007 · source · release history
+ TLS 1.3 and DTLS cookie callbacks documented Provides callback functions for handling TLS 1.3 and DTLS cookie generation and verification. 1 other source ▸
docs
- Callback functions for TLS1.3 and DTLS cookies Callback functions for TLS1.3 and DTLS cookies Callback functions for TLS1.3 and DTLS cookies Callback functions for TLS1.3 and DTLS cookies seen Oct 2026 · source
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
No command matches.
| option | found in | since | description |
|---|
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Score card
-
Shipping velocity releases a month, last 12 months
-
Documentation quality release-notes rubric, 0–100
-
Breaking-change discipline how rarely a release breaks users, and notice given
-
Maintenance risk quiet time against its own cadence, maintainers
-
Innovation & surface new capabilities, API and MCP surface
- Community health
-
Contributor trend distinct committers, this year against last
-
Maintainer concentration bus factor now against a year ago
-
Issue backlog trend issues closed per issue opened, 12 months
-
Responsiveness median time to a maintainer’s first reply
Nine scores for OpenSSL, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Score cards are part of every paid plan.
See plans → Already subscribed? Sign in →Trajectory
Blank means never measured; nothing here is a filled-in zero.
Peer standings are included with Researcher and Business. See how this tool ranks against its competitors, using data we don't publish anywhere else.
See plans →Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
- Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
- Documentation quality — the release-notes rubric published on the analytics page, unchanged.
- Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
- Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
- Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
- Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
- Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
- Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail OpenSSL puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Checking release-note history…
Releases
102 entries
No entries match these filters.
- October 20263
- September 202612
- August 20261
- July 20262
- June 20261
- April 20261
- January 20261
- October 20251
- April 20251
- October 20241
- September 202420
- April 20241
- November 20231
- May 20231
- March 20231
- November 20221
- May 20221
- December 20211
- September 20191
- May 20193
- November 20181
- September 20181
- March 20181
- August 20161
- May 20161
- March 20161
- June 20151
- January 20151
- October 20142
- January 20141
- April 20121
- March 20121
- March 20101
- February 20101
- November 20091
- March 20091
- January 20091
- May 20081
- October 20071
- February 20072
- September 20061
- May 20061
- October 20051
- July 20051
- April 20051
- March 20051
- October 20041
- March 20041
- September 20031
- April 20032
- February 20031
- December 20022
- July 20021
- December 20011
- April 20011
- September 20001
- April 20001
- February 20001
- August 19991
- May 19992
- March 19991
- December 19981
Project health
Issue, contributor and maintainer activity in openssl/openssl, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.
- Contributors 279 +27 vs prior 12 months
- Maintainers 29 +18 joined · −7 left, last 12 months
- Bus factor 10 committers behind half the commits
- Community-filed 93% of issues opened, last 12 months
- Median time to close 300 days first maintainer reply 2.4 days
- Open backlog 1,000 of 11,718 issues ever filed
- Issues opened / month 33 · 1 communitymaintainers
- Open backlog 1,000
- Contributors / month 31
- Commits / month 146
- Stars 30,808
- bugs 62%
- features 19%
- questions 2%
- docs 6%
- other 11%
Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this
Articles
1 article · updated Nov 4, 2026Where OpenSSL turns up in what others publish: how-tos, attack reports that name it, and incident write-ups. A row says why it is here and quotes where the article names it; the link goes to the publisher.
Attacks on OpenSSL 1
-
OpenSSL Information Disclosure Vulnerability ↗ CISA Exploited in the wild: CVE-2014-0160 (CISA KEV)
Libraries its release ships
What its latest release locks, checked against known advisories.None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can follow every release here.