]> sipb.mit.edu Git - wiki.git/blobdiff - doc/enabling_client_certificate_auth_in_chrome.html
Update versions some more, and use nicer links
[wiki.git] / doc / enabling_client_certificate_auth_in_chrome.html
index 8ba32ecc02dfa5ea0c25a352dfff8382776e218d..f0161cde736c6577d8d5ec3ea007ec01438fcdfa 100644 (file)
@@ -1,32 +1,19 @@
-<h3>I can visit some page in firefox and it just requests a certificate. How do I get that to work on Google Chome?</h3>
-<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 GUI for it as of yet.  (As of 12/3/2009.) 
-As far as I know, this only works with the daily build from the chromium-daily ppa on Launchpad.
-<small>It might work on the official chrome build, if it works, please tell us.</small>
-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 and then apt-get update 
-</p>
-<h3 id="getting_certs">Installing Certificates</h3>
-<p> The simplest thing to do is go to the <a href="https://ca.mit.edu/ca/">usual web interface</a> and follow the instructions to install certs normally. 
-You may also want the <a href="http://ca.csail.mit.edu/cacert">CSAIL CA</a> (specifically, the Master CA).
-If this works, you should be able to skip to telling chrome to<a href="#using_certs">use certtificate by default</a>
-
-Failing that, the next 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".
-
-<p>Otherwise, you want to look at the 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>.  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  -i " for both the MIT CA and (if you want it) the CSAIL CA.</p>
-<!--what do you pass as argumets exactly? -->
-
-<h3 id="using_certs">Using Certificates</h3>
-<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.<p>
-To do this by default in Gnome, you want to edit both Preferred Applications and the Main Menu entry 
-this way 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>
-
-<h5> Privacy Note </h5>
- 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>So, you want to run Google Chrome (or Chromium), but you're annoyed by incomplete support for SSL client certificate authentication. As of Chrome 6, this is mostly complete, with the exception of some GUI on the Linux side. If you are running a previous version, you should update, as there were a number of issues (specifically a certificate filtering bug on Mac OS X, and some missing UI) that affect usage at MIT.<p>
+
+<h3>Adding the MIT Certificate Authority</h3>
+
+<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; Chromium uses the system certificate store.</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, and Chromium has not implemented certificate manager on Linux yet. You may star Chromium bug <a href="http://code.google.com/p/chromium/issues/detail?id=19991">#19991</a> to be informed of progress. In the meantime, you may 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>
+
+<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, visit Google's page on <a href="http://code.google.com/p/chromium/wiki/LinuxCertManagement">Linux certificate management</a> and 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 6, the standard workflows should work without workarounds. Visit the usual <a href="https://ca.mit.edu/ca/">usual web interface</a> and follow the instructions to install certs normally. Note that, until Chrome 7, there is not yet any UI feedback for the enrollment. It should, however, work. 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, Chromium 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>