Merge branch 'master' of git://git.tails.boum.org/tails
[tails-test.git] / wiki / src / blueprint / web_browser_profile_with_no_CA.mdwn
blob53bd01f310279f340475e2814a90e2b7e20674bc
1 **Corresponding ticket**: [[!tails_ticket 5766]].
3 Tails should ship a (non-default) web browser profile that would not
4 trust the CA cartel, but instead use some alternative, more agile and
5 stronger trust system.
7 [[!toc levels=2]]
9 Candidates
10 ==========
12 * Monkeysphere: [[!tails_ticket 5763]]
13 * Convergence: [[!tails_ticket 6102]]
14 * TACK
15 * EFF's sovereign keys
16 * Google's proposal
18 Criteria
19 ========
21 * beware of the browser fingerprint
23 Implementation
24 ==============
26 Iceweasel profile
27 -----------------
29 We should now provide a second iceweasel profile with all root CAs
30 disabled.
32 One way to do it would be to `dpkg-divert libnssckbi.so` by default,
33 extract all the CAs from the original `libnssckbi.so` and stuff them
34 into the "normal X.509 usage" profile's DB.
36 See also the `mozilla/security/nss/lib/ckfw/builtins/README` file in
37 the `nss` package source tree ([read
38 online](https://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/README))
39 to learn how to build a `libnssckbi.so` with a custom list of
40 builtin CAs.
42 According to [a blog
43 post](http://blog.rupamsunyata.org/2008/06/30/consolation-prize.xhtml),
44 `certutil` may be an adequate tool for the task:
46         apt-get install libnss3-tools
47         certutil -d $HOME/.mozilla/firefox/$HLAGHLLAGHGAAHLGALHHGHLAGH.default -A -n 'CA Cert Signing Authority - Root CA' -t CT,C,C -i /etc/ssl/certs/root.pem
49 What does not work is to disable this module for the no-CAs profile
50 using:
52     modutil -dbdir PROFILE_DIR -disable "NSS Internal PKCS #11 Module"