# Install gnutls with Homebrew, apk, dnf, MacPorts, Nix, pacman, scoop, zypper

GNU Transport Layer Security (TLS) Library. Version 3.8.13 via Homebrew; verified 2026-07-06.

## Install

```sh
sudo av install brew:gnutls
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gnutls
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gnutls
```

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

### Linux

- apk (92%):

```sh
sudo apk add gnutls
```

  Evidence: Alpine Linux edge package indexes: gnutls from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install gnutls
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#gnutls
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gn/gnutls/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S gnutls
```

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

- zypper (92%):

```sh
sudo zypper install gnutls
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/gnutls
```

  Evidence: Scoop official bucket manifest trees: bucket/gnutls.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:gnutls
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gnutls>
- **Version:** 3.8.13
- **Source summary:** GNU Transport Layer Security (TLS) Library
- **Homepage:** <https://gnutls.org/>
- **Repository:** <https://gitlab.com/gnutls/gnutls>
- **Upstream docs:** <https://gnutls.org/manual/gnutls.html>
- **License:** LGPL-2.1-or-later AND GPL-3.0-only
- **Source archive:** <https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.13.tar.xz>
- **Last updated:** 2026-07-06T01:46:26Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gnutls-certtool (cli)
- gnutls-cli (cli)
- gnutls-cli-debug (cli)
- gnutls-serv (cli)
- ocsptool (cli)
- p11tool (cli)
- psktool (cli)
- gnutls-certtool (alias)
- gnutls-cli (alias)
- gnutls-cli-debug (alias)
- gnutls-serv (alias)
- ocsptool (alias)
- p11tool (alias)
- psktool (alias)

## Dependencies

- ca-certificates
- gettext
- gmp
- libidn2
- libtasn1
- libunistring
- nettle
- p11-kit

## Build dependencies

- pkgconf
- texinfo

## Install behavior

- Post-install hook: not defined
- Caveats: Guile bindings are now in the `guile-gnutls` formula.
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.8.13
- Package-manager updated: 2026-07-06
- Local data: ok
- Upstream repository: https://gnutls.org/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GnuTLS is the GNU Project's TLS library and tool suite for encrypted network protocols. It is packaged both as a developer library and as a set of diagnostic and certificate-management commands, which makes it important to operating-system distributions, network applications, and administrators who need scriptable TLS tooling.

### Project history

GnuTLS emerged inside the GNU ecosystem as a portable C implementation of the SSL, TLS, and DTLS protocol families. The manual presents it as a library meant to hide protocol complexity behind an API while still exposing certificate handling, key exchange, session management, and authentication choices to applications.

The project developed alongside changes in TLS itself. It added protocol support, X.509 and OpenPGP certificate features, PKCS#11 work, command-line tools such as certtool and gnutls-cli, and library interfaces for both application developers and system integrators. Its GitLab project became the official source-control and issue-tracking home.

### Adoption history

GnuTLS found adoption where applications needed a GNU-maintained TLS implementation that could be shipped broadly by distributions. Package managers carry it not only for the user-facing commands but also because other software links against libgnutls for HTTPS, mail, directory services, and other encrypted protocols.

The library's ecosystem significance comes from being a stack component rather than a stand-alone application. Many users meet it indirectly through dependencies, while administrators and developers use the command-line tools to debug handshakes, inspect certificates, test servers, and work with PKCS#11 tokens.

### How it is used

Practitioners use libgnutls in applications that need TLS or DTLS support, and use gnutls-cli, gnutls-serv, gnutls-cli-debug, certtool, ocsptool, p11tool, and psktool for testing and certificate workflows. The manual also covers authentication choices, priority strings, session tickets, certificate credentials, and integration patterns.

In package-manager culture, installing GnuTLS often satisfies both build-time library requirements and operational tooling needs. It is a small command-line surface on top of a security-sensitive shared library, so maintainers care about ABI stability, protocol defaults, and timely security updates.

### Why package nerds care

GnuTLS is one of the packages that turns TLS from a browser feature into ordinary Unix plumbing. It sits in dependency graphs, exposes inspection tools for humans, and gives source-built software a distribution-provided cryptographic backend.

### Timeline

- 2003: GnuTLS 1.0.0 marked an early stable release line.
- 2011: GnuTLS 3.0 introduced a major branch with expanded TLS support.
- 2013: GnuTLS 3.1.10 changed the library licensing to LGPLv2.1 or later for wider linking compatibility.
- 2020s: GitLab served as the official repository and issue-tracking home.

### Related projects

- libtasn1 and nettle are important lower-level libraries in the GnuTLS stack.
- PKCS#11 providers and smart-card tooling integrate with GnuTLS through p11tool and library support.
- Applications that link against libgnutls form the main adoption surface for the package.

### Sources

- <https://gitlab.com/gnutls/gnutls>
- <https://gnutls.org/>
- <https://gnutls.org/manual/gnutls.html>
- <https://gnutls.org/reference>
- <https://lists.gnupg.org/pipermail/gnutls-devel/2013-May/006176.html>
- <https://lists.gnupg.org/pipermail/gnutls-help/2003-October/000001.html>


## Security Notes

No matching local secret-handling manifest was found for gnutls. 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:** gnutls
- **Version Scheme:** 0
- **Revision:** 2
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - gnutls: normalized package name match | nixpkgs package indexes: pkgs/by-name/gn/gnutls/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - gnutls - 3.8.13-r0: normalized package name match | Alpine Linux edge package indexes: gnutls from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | TLS protocol implementation | https://www.gnutls.org/
- apk - gnutls-c++ - 3.8.13-r0: normalized package name match | Alpine Linux edge package indexes: gnutls-c++ from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | The C++ interface to GnuTLS | https://www.gnutls.org/
- apk - gnutls-dbg - 3.8.13-r0: normalized package name match | Alpine Linux edge package indexes: gnutls-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | TLS protocol implementation (debug symbols) | https://www.gnutls.org/
- apk - gnutls-dev - 3.8.13-r0: normalized package name match | Alpine Linux edge package indexes: gnutls-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | TLS protocol implementation (development files) | https://www.gnutls.org/
- apk - gnutls-doc - 3.8.13-r0: normalized package name match | Alpine Linux edge package indexes: gnutls-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | TLS protocol implementation (documentation) | https://www.gnutls.org/
- apk - gnutls-utils - 3.8.13-r0: normalized package name match | Alpine Linux edge package indexes: gnutls-utils from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Command line tools for TLS protocol | https://www.gnutls.org/
- dnf - gnutls - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: gnutls from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A TLS protocol implementation | http://www.gnutls.org/
- dnf - gnutls-c++ - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: gnutls-c++ from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | The C++ interface to GnuTLS | http://www.gnutls.org/
- dnf - gnutls-dane - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: gnutls-dane from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A DANE protocol implementation for GnuTLS | http://www.gnutls.org/
- dnf - gnutls-devel - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: gnutls-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for the gnutls package | http://www.gnutls.org/
- dnf - gnutls-fips - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: gnutls-fips from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Virtual package to install packages required to use gnutls under FIPS mode | http://www.gnutls.org/
- dnf - gnutls-utils - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: gnutls-utils from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Command line tools for TLS protocol | http://www.gnutls.org/
- dnf - mingw32-gnutls - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: mingw32-gnutls from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | MinGW GnuTLS TLS/SSL encryption library | http://www.gnutls.org/
- dnf - mingw64-gnutls - 3.8.13-1.fc45: normalized package name match | Fedora Rawhide package metadata: mingw64-gnutls from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | MinGW GnuTLS TLS/SSL encryption library | http://www.gnutls.org/
- pacman - gnutls - 3.8.13-2: normalized package name match | Arch Linux sync databases: gnutls from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz | A library which provides a secure layer over a reliable transport layer | https://www.gnutls.org/


## 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.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [libidn2](https://www.automicvault.com/pkg/brew/libidn2/) - Runtime dependency declared by Homebrew.
- [libtasn1](https://www.automicvault.com/pkg/brew/libtasn1/) - Runtime dependency declared by Homebrew.
- [nettle](https://www.automicvault.com/pkg/brew/nettle/) - Runtime dependency declared by Homebrew.
- [p11-kit](https://www.automicvault.com/pkg/brew/p11-kit/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [texinfo](https://www.automicvault.com/pkg/brew/texinfo/) - Build dependency declared by Homebrew.
- [amtterm](https://www.automicvault.com/pkg/brew/amtterm/) - Popular package that depends on this formula.
- [bitlbee](https://www.automicvault.com/pkg/brew/bitlbee/) - Popular package that depends on this formula.
- [chrony](https://www.automicvault.com/pkg/brew/chrony/) - Popular package that depends on this formula.
- [claws-mail](https://www.automicvault.com/pkg/brew/claws-mail/) - Popular package that depends on this formula.
- [emacs](https://www.automicvault.com/pkg/brew/emacs/) - Popular package that depends on this formula.
- [felinks](https://www.automicvault.com/pkg/brew/felinks/) - Popular package that depends on this formula.
- [ffmpeg-full](https://www.automicvault.com/pkg/brew/ffmpeg-full/) - Popular package that depends on this formula.
- [ffmpeg@4](https://www.automicvault.com/pkg/brew/ffmpeg-4/) - Popular package that depends on this formula.
- [libressl](https://www.automicvault.com/pkg/brew/libressl/) - Shares av.db curated category or tags: cli, cryptography, security, ssl, tls.
- [nss](https://www.automicvault.com/pkg/brew/nss/) - Shares av.db curated category or tags: cli, cryptography, security, tls.
- [wolfssl](https://www.automicvault.com/pkg/brew/wolfssl/) - Shares av.db curated category or tags: cli, cryptography, security, ssl, tls.
- [botan](https://www.automicvault.com/pkg/brew/botan/) - Shares av.db curated category or tags: cli, cryptography, library, security, tls.
- [mbedtls](https://www.automicvault.com/pkg/brew/mbedtls/) - Shares av.db curated category or tags: cli, cryptography, dtls, security, ssl.
- [gmssl](https://www.automicvault.com/pkg/brew/gmssl/) - Shares av.db curated category or tags: cli, cryptography, security, ssl, tls.
- [opensc](https://www.automicvault.com/pkg/brew/opensc/) - Shares av.db curated category or tags: cli, cryptography, library, security.
- [rnp](https://www.automicvault.com/pkg/brew/rnp/) - Shares av.db curated category or tags: cli, cryptography, library, security.

## Combined YAML source

View the package source record on GitHub. [combined/gnutls.yml](https://github.com/automic-vault/db/blob/main/combined/gnutls.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
