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
libcryptois standalone (depends only on the C runtime, optional zlib/zstd/brotli for compression, and OS-level threading and entropy).libssldepends onlibcryptofor all crypto.openssl(the CLI) links both.- The FIPS provider (
fips.so) is independent oflibcryptofor 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.