PAGES
← all tools
◆ General Utilities & Libraries

OpenSSL

openssl-4.1.0 open-source

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.

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

all 109 features, with the evidence for each →

Languages

Not documented

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.

Compare with peers →

What OpenSSL offers you

  • Command-line interface22
  • Plugin system1
  • Ticketing integration1
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 MinProtocol and MaxProtocol config 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_PIPELINE via libssl. 1.1.0 · Aug 2016 · source · release history
  • Adds TLS_FALLBACK_SCSV support; 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_err option 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 to ocsp command to spawn N child processes for OCSP responder mode 1.1.1 · Sep 2018 · source · release history
  • Adds HTTP GET support to the ocsp command line tool. 1.1.0 · Aug 2016 · source · release history
  • New option -crl_download in 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_HMAC when 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_SKEY opaque 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_SKEY API. 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 genpkey without 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 genpkey command 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 genpkey command when no size is specified 1.0.2s · May 2019 · source · release history
  • The genpkey command 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_GROUP via a new dedicated field_inv() pointer in EC_METHOD. 1.1.0k · May 2019 · source · release history
  • Coordinate blinding for EC_POINT is 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 -aes256 or 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_auto server 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 devcrypto engine 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/engines or the OPENSSL_ENGINES environment 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_algorithms option 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 openssl utility with engine loading 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) and VC-CE (Windows CE) build targets are dropped from Configurations. openssl-4.1.0 · Oct 2026 · source · release history
  • Adds VC-WIN32-MSVC2013 and VC-WIN64A-MSVC2013 build targets for MSVC 2013 C99 bridging support. openssl-4.1.0 · Oct 2026 · source · release history
  • Adds FIPS Object Module support for the android64-aarch64 target 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 group curveSM2, and post-quantum hybrid group curveSM2MLKEM768 per 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 rsautl application 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_PKEY API with options to specify digest, MGF1 digest and OAEP label 1.0.2 · Jan 2015 · source · release history
  • Adds additional DigestInfo verification 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_METHOD with 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_CTX structure. 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 -subj argument to req and ca utilities to set or override the subject name directly on the command line 0.9.7 · Dec 2002 · source · release history
  • Adds -set_serial option to req and x509 utilities to specify a custom serial number for certificates 0.9.7 · Dec 2002 · source · release history
  • Adds copy_extensions option to the ca utility 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-ecdsa and no-ecdh Configure options are removed; use no-ec to disable elliptic curve support. openssl-4.1.0 · Oct 2026 · source · release history
  • Adds no-ecdsa and no-ecdh removal from Configure — use no-ec to disable elliptic curve support. openssl-4.1.0 · Oct 2026 · source · release history
  • Provide a new configure option no-ecx that 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-http that can be used to disable the HTTP support. 3.2.0 · Nov 2023 · source · release history
  • Adds OPENSSL_NO_TLS1_2_CLIENT config 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 -rand option to s_client and s_server CLI commands for entropy source specification. 0.9.6a · Apr 2001 · source · release history
  • Adds openssl list-cipher-commands command (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_length ASN1_STRING_set1_data ASN1_STRING_set1_string SSL_VALUE_QUIC_MAX_PENDING_CONNS seen Aug 2026 · source
  • ASN1_STRING_length_ex ASN1_STRING_set_data ASN1_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 -resign and -md options to smime utility for adding signers to existing PKCS#7 structures 1.0.0 · Mar 2010 · source · release history
  • Adds cms directory and cms utility for Cryptographic Message Syntax based on RFC3850/3851/3852 1.0.0 · Mar 2010 · source · release history
  • Add enable-cms configuration 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-ec build 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.pl Perl script to generate shell scripts or batch files for running algorithm test programs 0.9.7m · Feb 2007 · source · release history
  • @STRENGTH cipher 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 -msg option to s_client and s_server to 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_ENCODER and OSSL_DECODER, generic encoder/decoder APIs for key and certificate serialization. openssl-3.0.0 · Sep 2024 · source · release history
  • Adds support for smime-type MIME 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_ATTRIBUTE utility macros prefixed with M_ (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_BLINDING flag 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_BLINDING flag 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 -content options to the smime application 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.p7 OpenSSL_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_TICKET option 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_STORE and defines SSL_SESS_CACHE_NO_INTERNAL as its bitwise OR with SSL_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_DEPRECATED or 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-heartbeats to re-enable. 1.1.0 · Aug 2016 · source · release history
  • Export grade static DH ciphersuites EXP-DH-RSA-DES-CBC-SHA and EXP-DH-DSS-DES-CBC-SHA are 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 tsget utility now requires Net::Curl::Easy (from the Net-Curl CPAN distribution) instead of the abandoned WWW::Curl::Easy — install it before upgrading. openssl-4.1.0 · Oct 2026 · source · release history
  • tsget now requires Net::Curl::Easy (Net-Curl CPAN distribution); the previously used WWW::Curl::Easy is no longer supported — install Net::Curl::Easy before upgrading. announced · Sep 2026 · source · release history
  • Changes tsget utility to use Net::Curl::Easy (Net-Curl CPAN distribution) instead of the abandoned WWW::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-jitter build 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_tests openssl-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 configutl utility 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_CONF and SSLEAY_CONF environment variable support for config file paths in ca utility. 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 -ktls option to s_server and s_client commands 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_RENEGOTIATION option to disable TLS renegotiation 1.1.0h · Mar 2018 · source · release history
  • Add option SSL_OP_LEGACY_SERVER_CONNECT which 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_RENEGOTIATION by SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION which 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 tsget utility now requires Net::Curl::Easy (from the Net-Curl CPAN distribution) instead of the abandoned WWW::Curl::Easy — install Net::Curl::Easy before 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, and smime applications is changed from des-ede3-cbc to aes-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_ASYNC support 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 cmp CLI 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 -profile CLI option to enable certProfile request 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_PARAM structure enabling parametrisation of X.509 path validation. OpenSSL_0_9_8 · Sep 2024 · source · release history
  • Implement new X509_VERIFY_PARAM structure 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_MD5 and TLS_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 -mac and -macopt options to dgst utility for experimental HMAC via EVP_PKEY interface 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 req and dirName config sections using '+' notation 0.9.8 · Jul 2005 · source · release history
  • Adds ssl/ssl_lib.c and ssl/ssl.h with 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 mac command as a quick CLI alternative to external HMAC tools. openssl mac -digest SHA256 -macopt key:mysecretkey -in data.bin HMAC openssl-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_ex2 to 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 related OPENSSL_LH statistics functions are deprecated from OpenSSL 3.1; defining OPENSSL_NO_DEPRECATED_3_1 disables these functions. 3.1.0 · Mar 2023 · source · release history
  • Changes OPENSSL_LH_stats and OPENSSL_LH_stats_bio to report only num_items, num_nodes and num_alloc_nodes statistics 3.0.3 · May 2022 · source · release history
  • Implements new OPENSSL_str[n]casecmp functions for case insensitive string comparison using POSIX locale semantics 3.0.3 · May 2022 · source · release history
  • OPENSSL_LH_stats and OPENSSL_LH_stats_bio no longer report valid values for any statistics other than num_items, num_nodes and num_alloc_nodes 3.0.3 · May 2022 · source · release history
  • The STACK and LHASH API prefixes are renamed to OPENSSL_SK_ and OPENSSL_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 -passin argument to the dgst command for passphrase input control 0.9.7f · Mar 2005 · source · release history
  • Adds -rand file argument to openssl req to extend the PRNG seed 0.9.6 · Sep 2000 · source · release history
  • Introduces rand application for generating pseudo-random output 0.9.5a · Apr 2000 · source · release history
  • Adds pkcs8 application with -v2 cipher 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-montasm Configure 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_BUILD C flag to enable BN_from_montgomery_word performance 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 DIGEST API 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 asn1parse using ASN1_parse_dump() and BIO_dump_indent() 0.9.6 · Sep 2000 · source · release history
  • Adds -out option to asn1parse command 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_check flag added to openssl fipsinstall to enforce Extended Master Secret check during TLS1_PRF KDF 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_CHAIN flag to disable automatic SSL certificate chain building. 0.9.7a · Feb 2003 · source · release history
  • Adds SSL_CTX_use_certificate_chain_file function 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-jpake configuration option to the Configure script to enable JPAKE support. 0.9.8j · Jan 2009 · source · release history
  • Enables JPAKE support in s_client and s_server for 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_client by default (overridden by -noservername) 1.1.1 · Sep 2018 · source · release history
  • Adds -servername option to openssl s_client command 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 -servername option 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 -macalg option to pkcs12 utility to set alternative digest MAC 1.0.0 · Mar 2010 · source · release history
  • Adds new utility pkey and pkeyparam for 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 info command 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 constructing OSSL_PARAM arrays. openssl-3.0.0 · Sep 2024 · source · release history
  • Allow sign extension in OSSL_PARAM_allocate_from_text() for OSSL_PARAM_INTEGER and reject negative numbers for OSSL_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

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 mac command for MAC computation via the EVP_MAC API. openssl-3.0.0 · Sep 2024 · source · release history
  • Adds RFC 3779 support 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-camellia configure 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 threads and no-threads Configure 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

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_KEX to 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 RIPEMD160 to 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-algorithms option to openssl utility 1.0.0 · Mar 2010 · source · release history
  • Adds list-message-digest-algorithms and list-cipher-algorithms options to openssl utility 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_fatal options to openssl s_server command 1.0.0 · Mar 2010 · source · release history
  • Adds new CTRL codes SSL_CTRL_SET_TLSEXT_SERVERNAME_CB, SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG, and SSL_CTRL_SET_TLSEXT_HOSTNAME for SNI callback configuration 0.9.8f · Oct 2007 · source · release history
  • Adds openssl s_server -servername_host, -cert2, -key2, and -servername_fatal options 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=no are 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 group curveSM2, and post-quantum hybrid group curveSM2MLKEM768 per 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 JITTER random 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 rsaref Configure 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 pkcs8 application with -v2 cipher 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-err option 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

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 to ocsp command to spawn N child processes for OCSP responder mode 1.1.1 · Sep 2018 · source · release history
  • Changes default behavior of ocsp responder to log via syslog(3) in -multi mode 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

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 -macalg option to pkcs12 utility to set alternative digest MAC 1.0.0 · Mar 2010 · source · release history
  • Adds -sigopt option to dgst utility 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_CONSTTIME flag 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 req and dirName config 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-AEAD128 EVP_CIPHER implementations 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 JITTER random 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_SHA256 and TLS_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

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_STRICT is 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_EMBED macro 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_PIPELINE via 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_CLIENT is 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_DEPRECATED or 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, and BIO_METHOD structures 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_id command 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

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.info files and configdata.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_UTF8 environment 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_CTX affect 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 -brief for 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 -CRL and -CRLform for 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_hash and -issuer_hash options are replaced by -subject_hash_old and -issuer_hash_old for compatibility; the default hash format for certificate directory links is now SHA1 instead of MD5, requiring c_rehash to 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_client SMTP 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.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. 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 →

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…

Explore the full chart →

Releases

Show

102 entries

  1. October 20263
  2. September 202612
  3. August 20261
  4. July 20262
  5. June 20261
  6. April 20261
  7. January 20261
  8. October 20251
  9. April 20251
  10. October 20241
  11. September 202420
  12. April 20241
  13. November 20231
  14. May 20231
  15. March 20231
  16. November 20221
  17. May 20221
  18. December 20211
  19. September 20191
  20. May 20193
  21. November 20181
  22. September 20181
  23. March 20181
  24. August 20161
  25. May 20161
  26. March 20161
  27. June 20151
  28. January 20151
  29. October 20142
  30. January 20141
  31. April 20121
  32. March 20121
  33. March 20101
  34. February 20101
  35. November 20091
  36. March 20091
  37. January 20091
  38. May 20081
  39. October 20071
  40. February 20072
  41. September 20061
  42. May 20061
  43. October 20051
  44. July 20051
  45. April 20051
  46. March 20051
  47. October 20041
  48. March 20041
  49. September 20031
  50. April 20032
  51. February 20031
  52. December 20022
  53. July 20021
  54. December 20011
  55. April 20011
  56. September 20001
  57. April 20001
  58. February 20001
  59. August 19991
  60. May 19992
  61. March 19991
  62. December 19981
    Show

    102 entries

    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.

    1. Contributors 279 +27 vs prior 12 months
    2. Maintainers 29 +18 joined · −7 left, last 12 months
    3. Bus factor 10 committers behind half the commits
    4. Community-filed 93% of issues opened, last 12 months
    5. Median time to close 300 days first maintainer reply 2.4 days
    6. Open backlog 1,000 of 11,718 issues ever filed
    1. Issues opened / month 33 · 1 communitymaintainers
    2. Open backlog 1,000
    3. Contributors / month 31
    4. Commits / month 146
    5. Stars 30,808
    Issue themes, last 12 months
    • 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, 2026

    Where 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

    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.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →