|  | # Linux Cert Management | 
|  |  | 
|  | *** note | 
|  | **NOTE:** SSL client authentication with personal certificates does not work | 
|  | completely in Linux, see [issue 16830](https://crbug.com/16830) and | 
|  | [issue 25241](https://crbug.com/25241). | 
|  | *** | 
|  |  | 
|  | The easy way to manage certificates is navigate to chrome://settings/search#ssl. | 
|  | Then click on the "Manage Certificates" button. This will load a built-in | 
|  | interface for managing certificates. | 
|  |  | 
|  | On Linux, Chromium uses the | 
|  | [NSS Shared DB](https://wiki.mozilla.org/NSS_Shared_DB_And_LINUX). If the | 
|  | built-in manager does not work for you then you can configure certificates with | 
|  | the | 
|  | [NSS command line tools](http://www.mozilla.org/projects/security/pki/nss/tools/). | 
|  |  | 
|  | ## Details | 
|  |  | 
|  | ### Get the tools | 
|  |  | 
|  | *   Debian/Ubuntu: `sudo apt-get install libnss3-tools` | 
|  | *   Fedora: `su -c "yum install nss-tools"` | 
|  | *   Gentoo: `su -c  "echo 'dev-libs/nss utils' >> /etc/portage/package.use && | 
|  | emerge dev-libs/nss"` (You need to launch all commands below with the `nss` | 
|  | prefix, e.g., `nsscertutil`.) | 
|  | *   Opensuse: `sudo zypper install mozilla-nss-tools` | 
|  |  | 
|  | ### List all certificates | 
|  |  | 
|  | certutil -d sql:$HOME/.pki/nssdb -L | 
|  |  | 
|  | #### Ubuntu Jaunty error | 
|  |  | 
|  | Above (and most commands) gives: | 
|  |  | 
|  | certutil: function failed: security library: invalid arguments. | 
|  |  | 
|  | Package version 3.12.3.1-0ubuntu0.9.04.2 | 
|  |  | 
|  | ### List details of a certificate | 
|  |  | 
|  | certutil -d sql:$HOME/.pki/nssdb -L -n <certificate nickname> | 
|  |  | 
|  | ### Add a certificate | 
|  |  | 
|  | ```shell | 
|  | certutil -d sql:$HOME/.pki/nssdb -A -t <TRUSTARGS> -n <certificate nickname> \ | 
|  | -i <certificate filename> | 
|  | ``` | 
|  |  | 
|  | The TRUSTARGS are three strings of zero or more alphabetic characters, separated | 
|  | by commas. They define how the certificate should be trusted for SSL, email, and | 
|  | object signing, and are explained in the | 
|  | [certutil docs](http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html#1034193) | 
|  | or | 
|  | [Meena's blog post on trust flags](https://blogs.oracle.com/meena/entry/notes_about_trust_flags). | 
|  |  | 
|  | For example, to trust a root CA certificate for issuing SSL server certificates, | 
|  | use | 
|  |  | 
|  | ```shell | 
|  | certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n <certificate nickname> \ | 
|  | -i <certificate filename> | 
|  | ``` | 
|  |  | 
|  | To import an intermediate CA certificate, use | 
|  |  | 
|  | ```shell | 
|  | certutil -d sql:$HOME/.pki/nssdb -A -t ",," -n <certificate nickname> \ | 
|  | -i <certificate filename> | 
|  | ``` | 
|  |  | 
|  | Note: to trust a self-signed server certificate, we should use | 
|  |  | 
|  | ``` | 
|  | certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n <certificate nickname> \ | 
|  | -i <certificate filename> | 
|  | ``` | 
|  |  | 
|  | This should work now, because | 
|  | [NSS bug 531160](https://bugzilla.mozilla.org/show_bug.cgi?id=531160) is claimed | 
|  | to be fixed in a related bug report.  If it doesn't work, then to work around | 
|  | the NSS bug, you have to trust it as a CA using the "C,," trust flags. | 
|  |  | 
|  | #### Add a personal certificate and private key for SSL client authentication | 
|  |  | 
|  | Use the command: | 
|  |  | 
|  | pk12util -d sql:$HOME/.pki/nssdb -i PKCS12_file.p12 | 
|  |  | 
|  | to import a personal certificate and private key stored in a PKCS #12 file. The | 
|  | TRUSTARGS of the personal certificate will be set to "u,u,u". | 
|  |  | 
|  | ### Delete a certificate | 
|  |  | 
|  | certutil -d sql:$HOME/.pki/nssdb -D -n <certificate nickname> |