update-ca-certificates
Update system's trusted certificate authority list
SYNOPSIS
update-ca-certificates [OPTIONS]
PARAMETERS
--verbose, -v
Enables verbose output, showing each certificate file processed and the actions taken. This is useful for debugging or understanding the command's operations.
--fresh
Forces a complete rebuild of the certificate bundle. All existing symbolic links in /etc/ssl/certs/ are removed before new ones are created. This ensures no stale entries remain.
--disable-incremental
Disables incremental updates. Even if only minor changes occurred, the entire certificate bundle is regenerated from scratch, similar to `--fresh` in its rebuild approach but specifically targets the bundle generation rather than link management.
--debug
Enables debugging output, providing more detailed information about the script's execution flow. This option is typically used for script development or deep troubleshooting.
--help
Displays a short help message with available options and exits.
DESCRIPTION
The update-ca-certificates command is a utility used primarily on Debian-based Linux distributions to manage the system's trusted CA (Certificate Authority) certificates. Its main function is to consolidate certificates from various sources into a single, unified bundle, typically located at /etc/ssl/certs/ca-certificates.crt.
It processes certificate files from directories like /usr/local/share/ca-certificates/ (for locally added certificates) and those installed by packages. By default, it creates symbolic links in /etc/ssl/certs/ pointing to the actual certificate files, and then generates the combined ca-certificates.crt file.
This command is crucial for applications and services that rely on a trusted list of CAs for verifying SSL/TLS connections, such as web browsers, `wget`, `curl`, and `apt`. It ensures that your system trusts the necessary authorities to validate certificates presented by secure servers, protecting against man-in-the-middle attacks and ensuring secure communication.
CAVEATS
This utility is primarily designed for Debian-based distributions (e.g., Ubuntu, Mint). Other Linux distributions might use different tools for managing CA certificates, such as update-pki or the trust command (on Fedora/RHEL).
Requires root privileges to execute, as it modifies system-wide configuration files in /etc/ssl/certs/ and other privileged directories.
For adding custom CA certificates, users should place them in /usr/local/share/ca-certificates/ (in PEM format with a .crt extension) and then run update-ca-certificates. Placing them directly in /etc/ssl/certs/ is discouraged as they might be overwritten or lead to inconsistencies.
<I>CUSTOM CERTIFICATE LOCATION AND FORMAT</I>
To add your own trusted CA certificate, place the certificate file (which must be in PEM format and end with the .crt extension) into the /usr/local/share/ca-certificates/ directory. After placing the file, run sudo update-ca-certificates to incorporate it into the system's trusted bundle.
<I>OUTPUT BUNDLE LOCATION</I>
The command compiles all trusted certificates into a single file, typically located at /etc/ssl/certs/ca-certificates.crt. This consolidated bundle is then used by many applications and libraries (like OpenSSL and GnuTLS) that need a single source of truth for trusted CAs.
<I>INTEGRATION WITH APT</I>
The update-ca-certificates command is automatically invoked by package management tools (like apt) whenever the `ca-certificates` package or any package providing new certificates is installed, updated, or removed, ensuring the system's trust store remains current.
HISTORY
The update-ca-certificates utility has been a fundamental component of Debian and Ubuntu for managing system-wide CA certificates for many years. It was developed to provide a standardized and automated way to compile and update the list of trusted root certificates from various sources, including those shipped by the distribution and custom user-provided certificates. Its development is closely tied to the `ca-certificates` package, which maintains the official list of trusted CAs, ensuring applications consistently have access to an up-to-date and reliable set of trust anchors.
SEE ALSO
ca-certificates(8), dpkg-reconfigure(8), c_rehash(1ssl), trust(1)