PSM:EV Testing Easy Version

From MozillaWiki
Jump to navigation Jump to search

This page is for Certificate Authorities (CAs) who request to have a root certificate enabled for Extended Validation (EV) treatment, and need to test that their CA hierarchy is ready for EV treatment.

To request that your root certificate be included in NSS and enabled for EV treatment, start with the Mozilla CA Certificate Policy and the How to Apply guidelines.

This page explains how you can test that your certificates and OCSP infrastructure are working correctly according to the expectations of Mozilla, Firefox, and the NSS library; and conforms to the SSL protocol specifications (as interpreted by Mozilla/NSS software.)

Overview

To perform this test you will:

  • Use a debug version of Firefox that has been modified to allow for EV testing
  • Set an environment variable that is effective when you execute Firefox
  • Import your own CA root certificate into the Firefox browser
  • Find a directory on your system that contains the Firefox browser's configuration files
  • Prepare a special configuration file that instructs the browser to treat your certificates as EV verified
  • Prepare a test server that uses a matching certificate and sends all required intermediate certificates
  • Make sure that your OCSP server is configured correctly, in particular, the signing certificate used by your OCSP server is conforming to specifications
  • Test the above until you get a successful test result

Details

Download Debug Version of Firefox

To download a debug version of the ESR 24 version of Firefox

  1. Browse to ftp://ftp.mozilla.org/pub/firefox/tinderbox-builds/
  2. Scroll down to mozilla-esr24-<platform>-debug and select the folder that matches the platform you are working on. Make sure you select a esr24 folder whose name ends in "debug".
  3. Select a build in the list.
  4. Download by selecting the .tar.bz2, .dmg, or .exe file, depending on which platform you are using.
  5. After downloading, extract and run this debug browser, which will be called FirefoxNightlyDebug.

Set Environment variable

You must set the following environment variable, and make sure it is effective when the browser software runs:

ENABLE_TEST_EV_ROOTS_FILE=1

Import your root CA

Use the Certificate Manager to make sure that your root certificate is imported into the browser, and has the websites trust bit enabled.

Find Profile / Configuration directory

Use public Internet resources to learn about the location of Firefox configuration files on your test computer. (e.g. on a GNU/Linux system this might be in /home/$USER/.mozilla/firefox/*default, on Mac OS X ~/Library/Application Support/Firefox/Profiles/*.default) The directory contains files named bookmarks.html and prefs.js, this information might help you in locating the correct directory.

Note: on Mac OS X Mountain Lion the Library folder is hidden. To find it, go into Finder, click on the "Go" pull-down menu while holding the Option key and select "Library." From Terminal the following command will make the hidden Library folder visible: chflags nohidden ~/Library. To hide the Library folder again type the following command: chflags hidden ~/Library

Enable your root for EV

Inside the directory you have identified in the previous step, create a new ASCII text file, with filename test_ev_roots.txt Technical information about this file can be found here: PSM:EV_Testing. Create the appropriate lines that will enable your root certificate for EV.

The tricky part is producing an ASCII-encoded representation of the DER encoding of your certificate issuer name and its serial number. If you need help with this step, request assistance in the Bugzilla bug containing your EV-enablement request.

Test

After the above steps are completed, open the FirefoxNightlyDebug browser, and browse to the web page of your test server. If you have done everything correctly, and your OCSP infrastructure meets the expectations, you will see the EV treatment.

Important: If you modify the test_ev_roots.txt file you must quit the FirefoxNightlyDebug browser and re-start it. Otherwise it might not pick up your changes.

If you have requested EV treatment in a Bugzilla bug, then attach a screen shot to the bug that shows the EV treatment for your web page in the FirefoxNightlyDebug browser.

Not Getting EV Treatment?