Open-Source Wikis

/

OpenSSL

/

Libraries

openssl/openssl

Libraries

OpenSSL ships three deliverables. They are documented in this section.

Page Source root One-liner
libcrypto crypto/, providers/ The general-purpose cryptographic library.
libssl ssl/ TLS 1.0–1.3, DTLS 1.0–1.2, QUIC v1 client and server.
openssl-cli apps/ The openssl command-line tool.

The library context (OSSL_LIB_CTX) is the binding that lets these three coexist with multiple isolated configurations in the same process. See subsystems/core-and-libctx.

Dependencies

  • libcrypto is standalone (depends only on the C runtime, optional zlib/zstd/brotli for compression, and OS-level threading and entropy).
  • libssl depends on libcrypto for all crypto.
  • openssl (the CLI) links both.
  • The FIPS provider (fips.so) is independent of libcrypto for the purposes of FIPS validation — it is built with its own embedded copy of the algorithms it ships and an integrity check; see providers/fips.

Public ABI surface

Library ELF SONAME Symbol map Header tree
libcrypto libcrypto.so.4 util/libcrypto.num include/openssl/{crypto.h, evp.h, x509*.h, …}
libssl libssl.so.4 util/libssl.num include/openssl/{ssl.h, tls1.h, ssl3.h, srtp.h, dtls1.h, quic.h}

The *.num files associate each public symbol with an ordinal that pins it for ABI purposes. make update regenerates them when you add a public function.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Libraries – OpenSSL wiki | Factory