'\" t
.\"     Title: update-ca-trust
.\"    Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 08/04/2014
.\"    Manual: \ \&
.\"    Source: update-ca-trust
.\"  Language: English
.\"
.TH "UPDATE\-CA\-TRUST" "8" "08/04/2014" "update\-ca\-trust" "\ \&"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" https://bugs.debian.org/507673
.\" https://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
update-ca-trust \- manage consolidated and dynamic configuration of CA certificates and associated trust
.SH "SYNOPSIS"
.sp
\fBupdate\-ca\-trust\fR [\fICOMMAND\fR]
.SH "DESCRIPTION"
.sp
update\-ca\-trust(8) is used to manage a consolidated and dynamic configuration feature of Certificate Authority (CA) certificates and associated trust\&.
.sp
The feature is available for new applications that read the consolidated configuration files found in the /etc/pki/ca\-trust/extracted directory or that load the PKCS#11 module p11\-kit\-trust\&.so
.sp
Parts of the new feature are also provided in a way to make it useful for legacy applications\&.
.sp
Many legacy applications expect CA certificates and trust configuration in a fixed location, contained in files with particular path and name, or by referring to a classic PKCS#11 trust module provided by the NSS cryptographic library\&.
.sp
The dynamic configuration feature provides functionally compatible replacements for classic configuration files and for the classic NSS trust module named libnssckbi\&.
.sp
In order to enable legacy applications, that read the classic files or access the classic module, to make use of the new consolidated and dynamic configuration feature, the classic filenames have been changed to symbolic links\&. The symbolic links refer to dynamically created and consolidated output stored below the /etc/pki/ca\-trust/extracted directory hierarchy\&.
.sp
The output is produced using the \fIupdate\-ca\-trust\fR command (without parameters), or using the \fIupdate\-ca\-trust extract\fR command\&. In order to produce the output, a flexible set of source configuration is read, as described in section SOURCE CONFIGURATION\&.
.sp
In addition, the classic PKCS#11 module is replaced with a new PKCS#11 module (p11\-kit\-trust\&.so) that dynamically reads the same source configuration\&.
.SH "SOURCE CONFIGURATION"
.sp
The dynamic configuration feature uses several source directories that will be scanned for any number of source files\&. \fBIt is important to select the correct subdirectory for adding files, as the subdirectory defines how contained certificates will be trusted or distrusted, and which file formats are read\&.\fR
.sp
Files in \fBsubdirectories below the directory hierarchy /usr/share/pki/ca\-trust\-source/\fR contain CA certificates and trust settings in the PEM file format\&. The trust settings found here will be interpreted with a \fBlow priority\fR\&.
.sp
Files in \fBsubdirectories below the directory hierarchy /etc/pki/ca\-trust/source/\fR contain CA certificates and trust settings in the PEM file format\&. The trust settings found here will be interpreted with a \fBhigh priority\fR\&.
.PP
\fBYou may use the following rules of thumb to decide, whether your configuration files should be added to the /etc or rather to the /usr directory hierarchy:\fR
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If you are manually adding a configuration file to a system, you probably want it to override any other default configuration, and you most likely should add it to the respective subdirectory in the /etc hierarchy\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If you are creating a package that provides additional root CA certificates, that is intended for distribution to several computer systems, but you still want to allow the administrator to override your list, then your package should add your files to the respective subdirectory in the /usr hierarchy\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
If you are creating a package that is supposed to override the default system trust settings, that is intended for distribution to several computer systems, then your package should install the files to the respective subdirectory in the /etc hierarchy\&.
.RE
.PP
\fBQUICK HELP 1\fR\fB: To add a certificate in the simple PEM or DER file formats to the list of CAs trusted on the system:\fR
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
add it as a new file to directory /etc/pki/ca\-trust/source/anchors/
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
run
\fIupdate\-ca\-trust extract\fR
.RE
.PP
\fBQUICK HELP 2\fR\fB: If your certificate is in the extended BEGIN TRUSTED file format (which may contain distrust/blacklist trust flags, or trust flags for usages other than TLS) then:\fR
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
add it as a new file to directory /etc/pki/ca\-trust/source/
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
run
\fIupdate\-ca\-trust extract\fR
.RE
.PP
\fBIn order to offer simplicity and flexibility, the way certificate files are treated depends on the subdirectory they are installed to\&.\fR
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
simple trust anchors subdirectory: /usr/share/pki/ca\-trust\-source/anchors/ or /etc/pki/ca\-trust/source/anchors/
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
simple blacklist (distrust) subdirectory: /usr/share/pki/ca\-trust\-source/blacklist/ or /etc/pki/ca\-trust/source/blacklist/
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
extended format directory: /usr/share/pki/ca\-trust\-source/ or /etc/pki/ca\-trust/source/
.RE
.PP
\fBIn the main directories /usr/share/pki/ca\-trust\-source/ or /etc/pki/ca\-trust/source/ you may install one or multiple files in the following file formats:\fR
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
certificate files that include trust flags, in the BEGIN/END TRUSTED CERTIFICATE file format (any file name), which have been created using the openssl x509 tool and the \-addreject \-addtrust options\&. Bundle files with multiple certificates are supported\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
files in the p11\-kit file format using the \&.p11\-kit file name extension, which can (e\&.g\&.) be used to distrust certificates based on serial number and issuer name, without having the full certificate available\&. (This is currently an undocumented format, to be extended later\&. For examples of the supported formats, see the files shipped with the ca\-certificates package\&.)
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
certificate files without trust flags in either the DER file format or in the PEM (BEGIN/END CERTIFICATE) file format (any file name)\&. Such files will be added with neutral trust, neither trusted nor distrusted\&. They will simply be known to the system, which might be helpful to assist cryptographic software in constructing chains of certificates\&. (If you want a CA certificate in these file formats to be trusted, you should remove it from this directory and move it to the \&./anchors subdirectory instead\&.)
.RE
.sp
In the anchors subdirectories /usr/share/pki/ca\-trust\-source/anchors/ or /etc/pki/ca\-trust/source/anchors/ you may install one or multiple certificates in either the DER file format or in the PEM (BEGIN/END CERTIFICATE) file format\&. Each certificate will be treated as \fBtrusted\fR for all purposes\&.
.sp
In the blacklist subdirectories /usr/share/pki/ca\-trust\-source/blacklist/ or /etc/pki/ca\-trust/source/blacklist/ you may install one or multiple certificates in either the DER file format or in the PEM (BEGIN/END CERTIFICATE) file format\&. Each certificate will be treated as \fBdistrusted\fR for all purposes\&.
.sp
Please refer to the x509(1) manual page for the documentation of the BEGIN/END CERTIFICATE and BEGIN/END TRUSTED CERTIFICATE file formats\&.
.sp
Applications that rely on a static file for a list of trusted CAs may load one of the files found in the /etc/pki/ca\-trust/extracted directory\&. After modifying any file in the /usr/share/pki/ca\-trust\-source/ or /etc/pki/ca\-trust/source/ directories or in any of their subdirectories, or after adding a file, it is necessary to run the \fIupdate\-ca\-trust extract\fR command, in order to update the consolidated files in /etc/pki/ca\-trust/extracted/ \&.
.sp
Applications that load the classic PKCS#11 module using filename libnssckbi\&.so (which has been converted into a symbolic link pointing to the new module) and any application capable of loading PKCS#11 modules and loading p11\-kit\-trust\&.so, will benefit from the dynamically merged set of certificates and trust information stored in the /usr/share/pki/ca\-trust\-source/ and /etc/pki/ca\-trust/source/ directories\&.
.SH "EXTRACTED CONFIGURATION"
.sp
The directory /etc/pki/ca\-trust/extracted/ contains generated CA certificate bundle files which are created and updated, based on the SOURCE CONFIGURATION by running the \fIupdate\-ca\-trust extract\fR command\&.
.sp
If your application isn\(cqt able to load the PKCS#11 module p11\-kit\-trust\&.so, then you can use these files in your application to load a list of global root CA certificates\&.
.sp
Please never manually edit the files stored in this directory, because your changes will be lost and the files automatically overwritten, each time the \fIupdate\-ca\-trust extract\fR command gets executed\&.
.sp
In order to install new trusted or distrusted certificates, please rather install them in the respective subdirectory below the /usr/share/pki/ca\-trust\-source/ or /etc/pki/ca\-trust/source/ directories, as described in the SOURCE CONFIGURATION section\&.
.sp
The directory /etc/pki/ca\-trust/extracted/java/ contains a CA certificate bundle in the java keystore file format\&. Distrust information cannot be represented in this file format, and distrusted certificates are missing from these files\&. File cacerts contains CA certificates trusted for TLS server authentication\&.
.sp
The directory /etc/pki/ca\-trust/extracted/openssl/ contains CA certificate bundle files in the extended BEGIN/END TRUSTED CERTIFICATE file format, as described in the x509(1) manual page\&. File ca\-bundle\&.trust\&.crt contains the full set of all trusted or distrusted certificates, including the associated trust flags\&.
.sp
The directory /etc/pki/ca\-trust/extracted/pem/ contains CA certificate bundle files in the simple BEGIN/END CERTIFICATE file format, as decribed in the x509(1) manual page\&. Distrust information cannot be represented in this file format, and distrusted certificates are missing from these files\&. File tls\-ca\-bundle\&.pem contains CA certificates trusted for TLS server authentication\&. File email\-ca\-bundle\&.pem contains CA certificates trusted for E\-Mail protection\&. File objsign\-ca\-bundle\&.pem contains CA certificates trusted for code signing\&.
.SH "COMMANDS"
.PP
(absent/empty command)
.RS 4
Same as the
\fBextract\fR
command described below\&. (However, the command may print fewer warnings, as this command is being run during rpm package installation, where non\-fatal status output is undesired\&.)
.RE
.PP
\fBextract\fR
.RS 4
Instruct update\-ca\-trust to scan the
SOURCE CONFIGURATION
and produce updated versions of the consolidated configuration files stored below the /etc/pki/ca\-trust/extracted directory hierarchy\&.
.RE
.SH "FILES"
.PP
/etc/pki/tls/certs/ca\-bundle\&.crt
.RS 4
Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information\&. This file is a symbolic link that refers to the consolidated output created by the update\-ca\-trust command\&.
.RE
.PP
/etc/pki/tls/certs/ca\-bundle\&.trust\&.crt
.RS 4
Classic filename, file contains a list of CA certificates in the extended BEGIN/END TRUSTED CERTIFICATE file format, which includes trust (and/or distrust) flags specific to certificate usage\&. This file is a symbolic link that refers to the consolidated output created by the update\-ca\-trust command\&.
.RE
.PP
/etc/pki/java/cacerts
.RS 4
Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the Java keystore file format, without distrust information\&. This file is a symbolic link that refers to the consolidated output created by the update\-ca\-trust command\&.
.RE
.PP
/usr/share/pki/ca\-trust\-source
.RS 4
Contains multiple, low priority source configuration files as explained in section
SOURCE CONFIGURATION\&. Please pay attention to the specific meanings of the respective subdirectories\&.
.RE
.PP
/etc/pki/ca\-trust/source
.RS 4
Contains multiple, high priority source configuration files as explained in section
SOURCE CONFIGURATION\&. Please pay attention to the specific meanings of the respective subdirectories\&.
.RE
.PP
/etc/pki/ca\-trust/extracted
.RS 4
Contains consolidated and automatically generated configuration files for consumption by applications, which are created using the
\fIupdate\-ca\-trust extract\fR
command\&. Don\(cqt edit files in this directory, because they will be overwritten\&. See section
EXTRACTED CONFIGURATION
for additional details\&.
.RE
.SH "AUTHOR"
.sp
Written by Kai Engert and Stef Walter\&.
