Ayuda
El DNIe en Firefox en un Mac: el módulo PKCS#11
Guía actualizada: 21 de agosto de 2026 · por David Pelayo (nexoapex)
Si tu DNIe funciona en Safari pero Firefox se comporta como si no existiera, no está roto nada: es que Firefox no usa el almacén de certificados de macOS. Tiene el suyo propio, y para que vea la tarjeta hay que cargarle un módulo PKCS#11. Esta guía explica cuál, dónde está y por qué aparece el error «No es posible añadir el módulo».
Por qué Firefox necesita un módulo aparte
Safari, Chrome y Edge acceden a los certificados del DNIe a través de CryptoTokenKit, el subsistema de tarjetas inteligentes de macOS. Apple documenta que el sistema reconoce de forma nativa cualquier lector USB de clase CCID, sin software adicional: por eso en esos navegadores el certificado aparece solo, en el diálogo del propio navegador.
Firefox no participa de eso. Mantiene su propio almacén (NSS) y habla con las tarjetas por el estándar PKCS#11, que es un interfaz genérico para dispositivos criptográficos. Sin un módulo PKCS#11 cargado, Firefox literalmente no tiene forma de ver tu DNIe.
Hay una excepción parcial que conviene conocer: desde Firefox 75 existe una preferencia, security.osclientcerts.autoload, que carga un módulo interno llamado osclientcerts para leer certificados de cliente del sistema en Windows y macOS. Está pensada sobre todo para certificados importados en el llavero, y Mozilla tiene informes abiertos de que en macOS no siempre los presenta correctamente. Para el DNIe, la vía fiable sigue siendo el módulo PKCS#11 de la tarjeta.
Qué módulo instalar (y cuál no)
El módulo oficial del DNIe lo publica la Dirección General de la Policía en el área de descargas de dnielectronico.es. A día de hoy la versión es 1.6.8 y se ofrece en cuatro archivos:
| Mac | Archivos |
|---|---|
| Intel (x64) | libpkcs11-dnie-1.6.8.dmg · libpkcs11-dnie-1.6.8.pkg |
| Apple Silicon (ARM) | libpkcs11-dnie-1.6.8_arm.dmg · libpkcs11-dnie-1.6.8_arm.pkg |
La propia página indica que ambas cubren macOS 26 Tahoe, 15 Sequoia, 14 Sonoma y 13 Ventura. Elegir mal aquí es el error más frecuente de todos, y lo explicamos más abajo.
Y una confusión clásica: la FNMT publica otro módulo distinto, para su propia tarjeta y el DNIe, que se instala en /Library/Libpkcs11-fnmtdnie/lib/libpkcs11-fnmtdnie.so. No es el mismo archivo ni la misma ruta. Si sigues un tutorial y la ruta no coincide con la que tienes instalada, Firefox no cargará nada.
Instalarlo y cargarlo en Firefox
- Descarga el archivo que corresponde a tu Mac. Si no sabes cuál tienes: menú Apple > Acerca de este Mac; si el chip empieza por «Apple», necesitas la versión
_arm. - Abre el
.dmgy haz doble clic en el icono del instalador (o instala el.pkg) y sigue el asistente. Todo queda dentro de/Library/Libpkcs11-dnie. - En Firefox, ve a Ajustes > Privacidad y seguridad, baja hasta Certificados y pulsa Dispositivos de seguridad.
- Pulsa Cargar, ponle un nombre al módulo —el manual oficial sugiere «DNIe Módulo P11»— e indica la ruta:
/Library/Libpkcs11-dnie/lib/libpkcs11-dnie.so - Acepta. Si todo ha ido bien, el módulo aparece en la lista con una ranura por cada lector conectado.
El manual oficial describe el menú como «Preferencias > Avanzado > Cifrado > Dispositivos de seguridad»: es la ruta de un Firefox de hace más de una década — el documento está escrito para Mac OS X Mountain Lion y Mavericks. La ubicación de hoy es la del paso 3; el resto del procedimiento sigue siendo exactamente el mismo.
Importar el certificado raíz
Con el módulo cargado, Firefox ya ve tus certificados, pero todavía puede no fiarse de quién los emitió. El instalador deja el certificado raíz del DNIe junto al módulo:
- En Ajustes > Privacidad y seguridad > Certificados, pulsa Ver certificados y ve a la pestaña Autoridades.
- Pulsa Importar e indica la ruta
/Library/Libpkcs11-dnie/share/ac_raiz_dnie.crt. - El asistente te pedirá que establezcas la confianza: marca las tres casillas, tal como indica el manual oficial.
«No es posible añadir el módulo»: las cuatro causas
Ese mensaje significa una sola cosa: Firefox ha encontrado el archivo pero no ha podido cargarlo como módulo criptográfico. En un Mac casi siempre es una de estas cuatro.
- Arquitectura equivocada. Desde la versión 84, Firefox para macOS es un binario universal y en un Mac con Apple Silicon se ejecuta de forma nativa en arm64. Un proceso arm64 no puede cargar una biblioteca compilada para Intel: si instalaste el módulo sin el sufijo
_armen un Mac M1 o posterior, el error es exactamente este. Desinstala e instala el correcto. - La ruta no existe. Compruébalo antes de discutir con Firefox. En la Terminal:
ls -l /Library/Libpkcs11-dnie/lib/
Si no aparecelibpkcs11-dnie.so, la instalación no llegó a completarse y no hay nada que cargar. - Ya hay un módulo con ese nombre. Firefox no admite dos módulos con el mismo nombre. Si has intentado la instalación varias veces, mira la lista de Dispositivos de seguridad, descarga el anterior y vuelve a cargarlo.
- El lector no está conectado. Algunos módulos fallan al inicializarse si no encuentran ningún lector. Conecta el lector —con el DNIe dentro— y prueba otra vez. Si el Mac ni siquiera ve el lector, el problema está antes: mira la guía de lectores.
Si quieres empezar de cero, para desinstalar basta con eliminar la carpeta /Library/Libpkcs11-dnie, que es lo que indica el manual oficial.
Comprobar que ha funcionado
En Dispositivos de seguridad deberías ver el módulo con una ranura por cada lector; con el DNIe insertado, la ranura aparece ocupada. La prueba de fuego es entrar en una sede electrónica: al pedirte el certificado, Firefox debería ofrecerte los del DNIe y pedirte el PIN.
Un detalle que ahorra disgustos: el manual oficial recomienda dejar en Certificados la opción «Preguntar cada vez» para cuándo un servidor solicite tu certificado personal, en lugar de dejar que Firefox elija uno automáticamente. El DNIe lleva dos certificados —uno de autenticación y otro de firma— y para identificarte es el de autenticación el que toca.
Lo que no hace falta
- Drivers del lector. macOS incluye soporte nativo para lectores CCID desde la 10.15.
- Java. El módulo PKCS#11 no lo usa. Java entra en juego con AutoFirma, que es otra cosa: lo cuenta la guía de AutoFirma en Mac.
- Perfiles de configuración ni permisos especiales. Si un tutorial te pide desactivar SIP o instalar un perfil, desconfía.
Si prefieres no instalar nada
Todo lo anterior es necesario porque usas Firefox. En Safari, Chrome y Edge el DNIe funciona a través de la integración nativa de macOS, sin módulos ni certificados raíz que importar. Esa es la vía que cubre DNIe Pro en la versión del Mac App Store; su precio y qué es gratis están detallados en la portada. El módulo PKCS#11 propio para Firefox está previsto en la edición de descarga directa, que aún no está publicada.
Y si lo que quieres es firmar un documento, no identificarte, el navegador no interviene en absoluto: mira cómo firmar un PDF con el DNIe en un Mac.
Preguntas frecuentes
¿Por qué el DNIe funciona en Safari pero no en Firefox?
Porque usan almacenes distintos. Safari, Chrome y Edge leen los certificados de la tarjeta a través de CryptoTokenKit, la integración nativa de macOS, que no requiere instalar nada. Firefox tiene su propio almacén y no usa esa integración: para ver el DNIe necesita que le cargues un módulo PKCS#11.
¿Qué ruta tengo que poner al cargar el módulo?
/Library/Libpkcs11-dnie/lib/libpkcs11-dnie.so, que es donde el instalador oficial deja la biblioteca en macOS. Ojo: el módulo de la FNMT es otro distinto y vive en /Library/Libpkcs11-fnmtdnie/lib/libpkcs11-fnmtdnie.so; cargar el que no es también produce el error.
Me sale «No es posible añadir el módulo». ¿Qué significa?
Que Firefox ha encontrado la ruta pero no ha podido cargar la biblioteca. Las causas habituales son cuatro: haber instalado el módulo de la arquitectura equivocada (Intel en un Mac con Apple Silicon o al revés), que la ruta no exista porque la instalación no llegó a completarse, tener ya cargado un módulo con ese mismo nombre, o intentar cargarlo sin el lector conectado.
¿Necesito instalar un driver para el lector?
No. Desde macOS 10.15, cualquier lector USB de clase CCID funciona de serie a través de CryptoTokenKit, sin software adicional. El módulo PKCS#11 no es un driver del lector: es la pieza que le enseña a Firefox a hablar con la tarjeta.
¿DNIe para Mac me sirve para Firefox?
La versión del Mac App Store, no: cubre Safari, Chrome y Edge a través de la integración nativa de macOS. El módulo PKCS#11 propio para Firefox va en la edición de descarga directa, que todavía no está publicada. Mientras tanto, para Firefox la vía es el módulo oficial que explica esta guía.