{"id":1175,"date":"2004-12-09T04:39:38","date_gmt":"2004-12-09T14:39:38","guid":{"rendered":"https:\/\/risacher.org\/jfdi\/?p=1175"},"modified":"2013-11-11T20:56:27","modified_gmt":"2013-11-12T01:56:27","slug":"20041209-0-3","status":"publish","type":"post","link":"https:\/\/risacher.org\/jfdi\/2004\/12\/20041209-0-3\/","title":{"rendered":"Firefox and the Common Access Card (CAC)"},"content":{"rendered":"<p><body>I meant to report for anyone else who wants to do this that I managed to get the SSP \/ Litronics NetSignCAC middleware to work with Firefox and Mozilla. &#8216;CAC&#8217; is an acronym for the Common Access Card, and it&#8217;s the ID card for all Department of Defense personnel (both military and civilian). It&#8217;s a smartcard made by Schlumberger that stores DoD-issued x509 certificates that can be used for all the regular things that x509 certs are for: signing email, authenticating to web sites, etc.<\/p>\n<p>The frustration was that using the CAC requires some &#8216;middleware&#8217; that enables the client application (i.e. the web browser) to extract the certificates from the card. There&#8217;s an industry-standard API for this called PKCS #11, and SSP has built middleware that implements it for the CAC. My IT support folks loaded the appropriate middleware, but it only worked with Internet Explorer.<\/p>\n<p>So, to load the middleware with Firefox or Mozilla, I stumbled around for quite some time trying to use the &#8216;Manage Security Devices&#8217; tab under the preferences dialog. That didn&#8217;t work. What worked was bringing up the page<a href=\"file:\/\/\/C:\/Program%20Files\/SSP%20Solutions\/NetSign%20CAC\/CryptoInstall.htm\"> file:\/\/\/C:\/Program%20Files\/SSP%20Solutions\/NetSign%20CAC\/CryptoInstall.htm<\/a>, which the contained some magic that the browser needed to install the middleware. Poof!<\/p>\n<p>Alas, that wasn&#8217;t enough. Once I&#8217;d done that, Firefox would pop up a dialog requesting the PIN for my CAC, but I still couldn&#8217;t authenticate to web sites that require a client certificate. The problem, I believe, is <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=154246\">bug 154246<\/a> and <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=154255\">bug 154255<\/a> in Mozilla\/Firefox Network Security Services; it can pull a client cert from a smartcard, but doesn&#8217;t pull the entire chain. Until this has a better solution, the workaround was to explicitly load my certificate authorities into Firefox. I did this by sending myself a signed email, examining the certs on the email, exporting my Root CA and Intermediate CA certs, and then importing those into Firefox as trusted CAs. Viola! I can use my CAC with Firefox.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I meant to report for anyone else who wants to do this that I managed to get the SSP \/ Litronics NetSignCAC middleware to work with Firefox and Mozilla. &#8216;CAC&#8217; is an acronym for the Common Access Card, and it&#8217;s the ID card for all Department of Defense personnel (both military and civilian). It&#8217;s a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-1175","post","type-post","status-publish","format-standard","hentry","category-ancient"],"_links":{"self":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts\/1175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/comments?post=1175"}],"version-history":[{"count":1,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts\/1175\/revisions"}],"predecessor-version":[{"id":1180,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/posts\/1175\/revisions\/1180"}],"wp:attachment":[{"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/media?parent=1175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/categories?post=1175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/risacher.org\/jfdi\/wp-json\/wp\/v2\/tags?post=1175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}