Usar los Certificados Personales de Windows en Firefox

El otro día, me mandaron investigar cómo se puede hacer, de manera automática, que el navegador web Firefox use los certificados personales que están instalados en Windows. Para eso, he tenido que investigar y leer diversa documentación, llegando a la conclusión que lo que me mandaron hacer, alguien ya lo había desarrollado hace unos años, pero no ha tenido mucha divulgación y menos en español.

El desarrollador original de la .dll que vamos a usar, es de Stef Walter y éste fue desarrollado en el 2008, pero el que ha evolucionado esta Librería .dll fue Daniel Risacher. En su blog podrás leer su artículo del 25/05/2016  ”p11-capi now supports SHA-256” donde habla de la evolución y la continuación del proyecto inicial de Stef Walter.

p11-capi

A pkcs11 implementation on top of win32 (or win64) capi

Copyright 2008 Stef Walter
Copyright 2016 Dan Risacher

“p11-capi” is a module that allows Firefox (and possibly other applications) to talk to smartcards (or other cryptographic tokens) on Microsoft Windows computers. This is particularly useful on Windows 7 and later, which natively support some smartcards, but do not provide the cross-platform API used by programs like Firefox.

There are two main interfaces for computer applications to interface with smartcards and other hardware security modules. The PKCS#11 interface is a cross-platform, de-facto industry standard API. Microsoft CAPI is a proprietary interface only supported on Windows platforms, but as Windows has significant market-share in large enterprises that use smartcards, it is more frequently supported.

This version has minor changes from Stef Walter’s 2008 release. In particular, it fixes support for SHA-2 (i.e. SHA256, SHA384 and SHA512) in certain situations.

I am providing 32-bit and 64-bit binaries as a convenience.

Pues gracias a la contribución de Stef Walter y Daniel Risacher ahora, podemos usar los Certificados personales en Firefox. Para eso, tenemos que seguir estos simples pasos:.

Este ejemplo fue hecho con la última versión de  Firerox 59.0.2 de 64 Bits disponible a la fecha 02/04/2018

  • Abrimos el Navegador Web Firefox y vamos a Opciones – Privacidad y Seguridad – Dispositivos de Seguridad

  • Dentro de Dispositivos de Seguridad, pinchamos en Cargar. Ahí, le definiremos un nombre para el módulo y la ubicación de la Liberia .dll

  • Una vez hecho esto, ya podemos ver los certificados personales que tenemos instalados en Windows.

Espero que os haya sido de utilidad 😉

Para asegurar y garantizar la vida de esta librería .dll que hemos utilizado en este artículo, la dejaré disponible para su descarga desde mi Servidor, por si algún día desaparece.