From Fedora Project Wiki

The various Certificate Trust Test Cases require some preparation.

Necessary Software

Install this software:

$ sudo yum install gnutls-utils nss-tools openssl firefox epiphany java-1.7.0-openjdk-devel wget

Make sure the following software is at least these versions:

  • p11-kit: 0.17.4
  • p11-kit-trust: 0.17.4
  • ca-certficates: 2012.87-9.fc19.1
  • nss: 3.14.3-10
$ sudo yum update p11-kit p11-kit-trust ca-certificates nss

Ensure you have sudo permission

Because we are configuring the default system behaviour, the user account that you will use for testing needs permission to use the sudo command. You can test using

sudo bash

If it works, good. If not, you must login to your system as the root user, edit file /etc/sudoers and add the following line. Replace the word myself with the name of your user account.

myself     ALL=(ALL)	ALL

Firefox Profiles

For tests that involve firefox, please use a fresh Firefox profile (firefox -P) prior to a each new test cycle. This is to make sure that changes made to CA trust settings from earlier tests will be cleaned, and that you will get the exact behaviour as described on this page.

Warning.png
Dangerous. Not possible to undo!
This command will delete all personal keys and passwords that are stored in Firefox. Only use this command on a test user account!

An alternative to creating a fresh profile, quit Firefox and run

$ rm -f ~/.mozilla/firefox/*/*.db
$ ls ~/.mozilla/firefox/*/*.db
ls: cannot access ~/.mozilla/firefox/*/*.db: No such file or directory

Test Fixture Files

Download a few files and tools that we'll use later:

$ mkdir -p ~/certificate-trust-test-cases
$ cd ~/certificate-trust-test-cases
$ wget https://fedoraproject.org/w/uploads/b/b1/Cert-trust-test-ca.pem \
       https://fedoraproject.org/w/uploads/1/1e/EquifaxSecureCertificateAuthority.pem \
       https://fedoraproject.org/w/uploads/2/29/Distrust-intermediate-by-serial.p11-kit \
       https://fedoraproject.org/w/uploads/5/5f/TestCertTrust.java
$ javac TestCertTrust.java