]> sipb.mit.edu Git - wiki.git/blobdiff - doc/enabling_client_certificate_auth_in_chrome.html
Let’s keep in 3DES for now, in case the KDC is rolled back
[wiki.git] / doc / enabling_client_certificate_auth_in_chrome.html
index 2e47958ffa5f97138aa6642a2bac0257c8580954..72cd190d94ce6e5cf3571b0a85b5c0e86948d104 100644 (file)
@@ -1,19 +1,19 @@
-<p>So, you want to run Chrome (or Chromium), but you're annoyed by the lack of
-client certificate authentication on Linux.  Turns out, this is relatively easy
-to solve, there's just no UI for it as of yet.  (As of 11/13/2009.)  (Note: I'm doing this running the daily build from the chromium-daily ppa on Launchpad - if you're running Debian or Ubuntu, you can add "deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu karmic main" to your
-/etc/apt/sources.list if you want to run this.  It may work on the official
-Google build as well, I'm not sure.)</p>
+<h3>Adding the MIT Certificate Authority</h3>
 
-<p>You want to use the instructions at
-<a href="http://code.google.com/p/chromium/wiki/LinuxCertManagement">Google's page on LinuxCertManagement</a> to install the <a href="http://ist.mit.edu/services/certificates/mitca">MIT CA</a>.  You may also want the <a href="http://ca.csail.mit.edu/cacert">CSAIL CA</a> (specifically, the Master CA).  If you're
-running Debian or Ubuntu, the short version of that LinuxCertManagement page is
-to install libnss3-tools, then run "certutil -d sql:$HOME/.pki/nssdb -A -t
-"C,," -n <certificate nickname> -i <certificate filename>" for both the MIT CA
-and (if you want it) the CSAIL CA.</p>
+<p>While not strictly necessary for client authentication, most MIT users will want to add the <a href="http://ist.mit.edu/services/certificates/mitca">MIT CA</a> to the list of trusted CAs. You may also want the <a href="http://ca.csail.mit.edu/cacert">CSAIL CA</a> (specifically, the Master CA). On Windows or Mac OS X, downloading the file and opening it should be sufficient. If you've already configured this for Internet Explorer or Safari, respectively, you may skip this step; Chrome uses the system certificate store.</p>
 
-<p>Recent Linux builds should be able to generate certificates via the usual web interface, however there will be no UI feedback in doing so. Failing that, the easiest way to install a client cert in the nss database is simply to install it on Firefox; at that point, it should be in the list of certificates you get when you run "certutil -d sql:$HOME/.pki/nssdb -L".  If not, go back to
-the LinuxCertManagement page and do it manually.</p>
+<p>On Linux, however, Mozilla Firefox uses a private certificate store instead of the system <a href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a> one. There is no system interface for adding certificates, but recent versions of Chrome provide one. Download the MIT or CSAIL CA linked above. Then press the wrench and go to <kbd>Settings | Advanced Settings | Manage Certificates</kbd>. Under the <kbd>Authorities</kbd> tab, press <kbd>Import...</kbd> and select the certificate you just downloaded.</p>
 
-<p>Here's the last key to the puzzle: Chrome on Linux currently lacks a UI for selecting a certificate, so run it with the --auto-ssl-client-auth flag. Enabling this flag configures Chrome to automatically send an certificate to websites without prompting, as Firefox will do under certain configurations. This is considered a privacy issue; see UI notes #3 in the Chromium <a href="http://dev.chromium.org/developers/design-documents/ssl-client-authentication">design document</a> and the linked <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=295922">Mozilla bug</a>. Bug <a href="http://code.google.com/p/chromium/issues/detail?id=25241">#25241</a> tracks this issue in Chrome on Linux.</p>
+<p>You can also use the NSS command-line tools to manage your certificates. If you're running Ubuntu or Debian, install the package <tt>libnss3-tools</tt>. To trust the MIT CA for SSL, download the file and run</p>
 
-<p>You'll probably want to edit both Preferred Applications and the Main Menu entry (I'm assuming you run Gnome here; if not, there may be other things you want to edit) to reflect this, so links you click on outside of Chrome open this way.  (Gnome Do and similar pull their data from Main Menu, among other places.)  Once you've done this, you can check your work with <a href="https://scripts-cert.mit.edu/~geofft/demo/detect.php">this demo page</a>.  If everything is working, it should welcome you by name, and tell you that a certificate for your username is installed.</p>
+<blockquote><code>certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "MIT CA" -i path/to/mitca.crt</code></blockquote>
+
+<p>For more information, see Mozilla's documentation on <a href="http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html"><tt>certutil</tt></a>.</p>
+
+<h3>Enrolling in and Using Client Certificates</h3>
+
+<p>As of Chrome 7, the standard workflows should work without workarounds. Visit the usual <a href="https://ca.mit.edu/ca/">web interface</a> and follow the instructions to install certs normally. You can check your work with <a href="https://scripts-cert.mit.edu/~geofft/demo/detect.php">this demo page</a>.  If everything is working, it should welcome you by name, and tell you that a certificate for your username is installed.</p>
+
+<h3>Using a Smart Card or Other Password-Protected Certificate Store</h3>
+
+<p>While NSS does allow you to configure your certificate store to use smart cards or protected by a password, Chrome does not support this yet. Star bug <a href="http://code.google.com/p/chromium/issues/detail?id=42073">#42073</a> to receive updates.</p>