# Install botan with Homebrew, apt, dnf, MacPorts, pacman, zypper

Cryptographic algorithms and formats library in C++. Version 3.12.0 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:botan
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install botan
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install botan
```

  Evidence: MacPorts ports tree: security/botan/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install botan
```

  Evidence: Debian stable package indexes: botan from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install botan
```

  Evidence: Fedora Rawhide package metadata: botan from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- pacman (92%):

```sh
sudo pacman -S botan
```

  Evidence: Arch Linux sync databases: botan from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install Botan
```

  Evidence: openSUSE Tumbleweed package metadata: Botan from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:botan
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/botan>
- **Version:** 3.12.0
- **Source summary:** Cryptographic algorithms and formats library in C++
- **Homepage:** <https://botan.randombit.net/>
- **Repository:** <https://github.com/randombit/botan>
- **Upstream docs:** <https://botan.randombit.net/doxygen>
- **License:** BSD-2-Clause
- **Source archive:** <https://botan.randombit.net/releases/Botan-3.12.0.tar.xz>
- **Last updated:** 2026-06-22T14:02:54-07:00
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- botan (cli)
- botan (alias)

## Dependencies

- ca-certificates
- python@3.14
- sqlite

## Build dependencies

- pkgconf

## Uses from macOS

- bzip2

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 3.12.0
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://botan.randombit.net/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

Botan is a permissively licensed C++ cryptography toolkit with a library-first identity and a substantial command-line companion. In package-manager culture it occupies the same broad territory as OpenSSL, libsodium, and Crypto++, but with a C++ API, modular build controls, Python/C FFI surfaces, and an intentionally broad algorithm catalog.

### Project history

The current public development home is the randombit/botan GitHub repository, created in March 2013, while the official documentation describes Botan as a C++ cryptography library focused on production cryptography. Its handbook frames the project around secure distributed systems, constant-time programming, test coverage, side-channel analysis, safe defaults, portability to modern systems, and post-quantum readiness.

Botan 3 became the active release line, with the upstream README documenting quarterly Botan3 minor releases. Botan2 reached end of life on 2025-01-01, with the final Botan2 release listed as 2.19.5 from 2024-07-08.

### Adoption history

Botan is distributed by major Unix-like package systems, including Homebrew, Debian-family distributions, Fedora, Arch, MacPorts, and openSUSE according to the package facts and the upstream README's distribution note. Its adoption is less about a single dominant CLI and more about being a reusable cryptographic substrate for C++ applications that want TLS, X.509, PKCS#11, TPM, password hashing, and newer post-quantum primitives without binding themselves to OpenSSL APIs.

The project also exposes C, Python, and third-party language bindings, which makes it useful to packagers who want one audited native cryptography implementation to serve multiple language ecosystems.

### How it is used

The installed `botan` executable exposes many library functions in shell form: hashing, HMAC, password hashing, symmetric encryption, public-key operations, certificate handling, TLS-related tooling, and other cryptographic utilities. The library side is used by applications that need a C++ cryptography API with configurable modules and platform certificate-store support.

For package users, Botan is commonly installed as a development dependency as well as a CLI utility; its package significance comes from headers, libraries, ABI concerns, and feature selection as much as from the command-line binary.

### Why package nerds care

Botan is a classic package-nerd library: it is security-sensitive, ABI-sensitive, heavily tested, and exposed through many downstream packages. Its release notes read like infrastructure maintenance, with CVEs, certificate-path behavior, compiler support, optimized CPU code paths, TLS conformance, and algorithm additions all mattering to downstream maintainers.

It is also notable as a modern C++ crypto stack that deliberately includes post-quantum algorithms and side-channel testing in its project goals, making it a useful barometer for where general-purpose cryptography libraries are moving.

### Timeline

- 2013: Public GitHub repository created for randombit/botan.
- 2024: Botan 2.19.5 released as the final Botan2 series release.
- 2025: Botan2 reached end of life on January 1.
- 2026: Botan 3.12.0 released with TLS, X.509, performance, and security fixes.

### Related projects

- OpenSSL is the most common comparison point for everyday command-line crypto and TLS tooling.
- Crypto++ is a related C++ cryptography library in the same packaging space.
- libsodium is a related security library with a narrower, opinionated API surface.

### Sources

- <https://api.github.com/repos/randombit/botan>
- <https://botan.randombit.net/handbook/cli.html>
- <https://botan.randombit.net/handbook/goals.html>
- <https://botan.randombit.net/news.html>
- <https://github.com/randombit/botan>


## Security Notes

No matching local secret-handling manifest was found for botan. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** botan
- **Aliases:** botan@3
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - botan - 3.7.1+dfsg-2: normalized package name match | Debian stable package indexes: botan from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | multiplatform crypto library (3.x version) | https://botan.randombit.net/
- Debian apt - libbotan-2-19 - 2.19.5+dfsg-4: normalized package name match | Debian stable package indexes: libbotan-2-19 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Debian apt - libbotan-2-dev - 2.19.5+dfsg-4: normalized package name match | Debian stable package indexes: libbotan-2-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Debian apt - libbotan-2-doc - 2.19.5+dfsg-4: normalized package name match | Debian stable package indexes: libbotan-2-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Ubuntu apt - botan - 2.19.3+dfsg-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: botan from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Ubuntu apt - libbotan-2-19 - 2.19.3+dfsg-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libbotan-2-19 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Ubuntu apt - libbotan-2-dev - 2.19.3+dfsg-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libbotan-2-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Ubuntu apt - libbotan-2-doc - 2.19.3+dfsg-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: libbotan-2-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | multiplatform crypto library (2.x version) | https://botan.randombit.net/
- Ubuntu apt - python3-botan - 2.19.3+dfsg-1ubuntu2: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-botan from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | multiplatform crypto library (2.x version), Python3 module | https://botan.randombit.net/
- dnf - botan - 1.10.17-54.fc45: normalized package name match | Fedora Rawhide package metadata: botan from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Crypto library written in C++ | http://botan.randombit.net/
- dnf - botan-devel - 1.10.17-54.fc45: normalized package name match | Fedora Rawhide package metadata: botan-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for botan | http://botan.randombit.net/
- dnf - botan-doc - 1.10.17-54.fc45: normalized package name match | Fedora Rawhide package metadata: botan-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Documentation for botan | http://botan.randombit.net/
- dnf - python3-botan - 1.10.17-54.fc45: normalized package name match | Fedora Rawhide package metadata: python3-botan from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Python3 bindings for botan | http://botan.randombit.net/
- pacman - botan - 3.12.0-1: normalized package name match | Arch Linux sync databases: botan from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Crypto library written in C++ | https://botan.randombit.net/
- zypper - Botan - 3.11.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: Botan from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A C++ Crypto Library | https://botan.randombit.net
- zypper - Botan-doc - 3.11.1-1.2: normalized package name match | openSUSE Tumbleweed package metadata: Botan-doc from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Documentation of Botan | https://botan.randombit.net


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [ca-certificates](https://www.automicvault.com/pkg/brew/ca-certificates/) - Runtime dependency declared by Homebrew.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [sqlite](https://www.automicvault.com/pkg/brew/sqlite/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [qca](https://www.automicvault.com/pkg/brew/qca/) - Popular package that depends on this formula.
- [rnp](https://www.automicvault.com/pkg/brew/rnp/) - Popular package that depends on this formula.
- [gnutls](https://www.automicvault.com/pkg/brew/gnutls/) - Shares av.db curated category or tags: cli, cryptography, library, security, tls.
- [nss](https://www.automicvault.com/pkg/brew/nss/) - Shares av.db curated category or tags: cli, cryptography, security, tls.
- [opensc](https://www.automicvault.com/pkg/brew/opensc/) - Shares av.db curated category or tags: cli, cryptography, library, security.
- [cfssl](https://www.automicvault.com/pkg/brew/cfssl/) - Shares av.db curated category or tags: cli, cryptography, security, tls.
- [gmssl](https://www.automicvault.com/pkg/brew/gmssl/) - Shares av.db curated category or tags: cli, cryptography, security, tls.
- [gpgme](https://www.automicvault.com/pkg/brew/gpgme/) - Shares av.db curated category or tags: cli, cryptography, library, security.
- [libressl](https://www.automicvault.com/pkg/brew/libressl/) - Shares av.db curated category or tags: cli, cryptography, security, tls.
- [certbot](https://www.automicvault.com/pkg/brew/certbot/) - Both packages touch the same language runtime or ecosystem. Shared terms: certificates, cli, cryptography, python, python-3-14.

## Combined YAML source

View the package source record on GitHub. [combined/botan.yml](https://github.com/automic-vault/db/blob/main/combined/botan.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
