On Ubuntu, SSL CA certificates are stored in subdirectories of /usr/local/share/ca-certificates
. In order to add additional CA certificates, first create a new subdirectory to store your CAs:
sudo mkdir /usr/local/share/ca-certificates/added |
Then add your CA certificates to this directory. These files should have a .crt extension (e.g., my_ca.crt
). Then append a line for each certificate you add to the configuration file /etc/ca-certificates.conf
(e.g., “added/my_ca.crt
“). Finally, run
sudo update-ca-certificates --fresh |
This command reads the file /etc/ca-certificates.conf, updates the directory /etc/ssl/certs
to hold SSL certificates and generates the file /etc/ssl/certs/certificates.crt
. The script update-ca-certificates
will use the command c_rehash
take a hash value of each .crt
file. It then creates symbolic links in the directory /etc/ssl/certs
for each of the files named by the hash value. This is useful as many programs require directories to be set up like this in order to find the certificates they require. /etc/ssl/certs/certificates.crt
is a concatenated single-file version of CA certificates. It contains all CA certificates that were activated in /etc/ca-certificates.conf
.
Use the file
command to verify that the .crt
files you add use Unix newline characters, otherwise the /etc/ssl/certs/certificates.crt
file may not be generated properly.