Quiero agregar algunas CA raíz que no vienen con el firefox predeterminado en Ubuntu, pero no sé cómo.
Intenté agregarlos a los certificados locales con certutil
, pero no funcionó. Se estropeó mi base de datos de certificados.
$ certutil -A -d .mozilla/firefox/kek3dogy.default/ -i /usr/local/share/ca-certificates/FNMT_ACRAIZ.crt -n "Certificado Raiz FNMT" -t "TCu,Cuw,Tuw"
y entonces
$ certutil -L -d .mozilla/firefox/kek3dogy.default/
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Go Daddy Secure Certification Authority ,,
VeriSign Class 3 Secure Server CA - G3 ,,
VeriSign Class 3 Extended Validation SSL CA ,,
DigiCert High Assurance CA-3 ,,
GlobalSign Domain Validation CA - G2 ,,
GeoTrust SSL CA ,,
StartCom Class 2 Primary Intermediate Server CA ,,
Google Internet Authority ,,
Certificado Raiz FNMT CT,C,c
USERTrust Legacy Secure Server CA ,,
HP Jetdirect 2B0EAD20 ,,
Akamai Subordinate CA 3 ,,
VeriSign, Inc. ,,
Thawte SGC CA ,,
VeriSign Class 3 Secure Server CA - G2 ,,
El certificado no aparecerá en Firefox. Lo intenté varias veces, incluso eliminando el perfil, y apareció una vez en la interfaz de Firefox, pero estaba completamente vacío.
De todos modos, eso es solo para un usuario, y quiero agregarlos en todo el sistema. ¿Existe una base de datos en todo el sistema que pueda modificar? ¿Cómo?
Si no hay una base de datos que pueda modificar en todo el sistema, puedo confiar en un script de inicio X (como /etc/X11/Xsession.d/
unos, o un script llamado por el sistema de /etc/xdg/autostart/
inicio automático xdg ) para modificar el perfil de usuario al inicio de la sesión, pero necesito una solución que trabajos. ¡Ni siquiera puedo cargar certificados en los perfiles de usuario desde la línea de comandos ahora!
fuente
profiles.ini
? Luego, podría agregarle los cambios y luego copiarloprofiles.ini
a cada directorio de usuario.firefox -p
, pero primero debe cerrar Firefox.Respuestas:
El problema aquí es que Firefox no tiene una ubicación 'central' donde busca certificados. Simplemente se ve en el perfil actual. Es por eso que modificar
/usr/share/ca-certificates
u otros directorios similares no funcionarán con Firefox. Esto es algo que se ha solicitado por años; vea los números 620373 , 449498 y 454036 (y probablemente hay muchos otros).Por lo tanto, le quedan solo dos tipos de soluciones: modificar cada perfil o modificar el comportamiento de Firefox. Sé que esto no es lo que estás buscando, pero no hay maneras porque Firefox solo mira los perfiles de los usuarios.
Dicho esto, la solución que elegiría es usar enlaces duros o simbólicos, específicamente iría con enlaces duros. Esta solución es seguramente la más fácil y probablemente la mejor, aunque no tengo suficiente información para juzgar.
Lo que tienes que hacer es básicamente eliminar cada uno
cert8.db
y loskey3.db
archivos de cada perfil y reemplazarlos con enlaces a los "más completos"cert8.db
ykey3.db
. Si vas con enlaces duros, el originalcert8.db
ykey3.db
será indistinguible de los nuevos.Recuerde ajustar los permisos para satisfacer sus necesidades. Lo más probable es que lo necesite para
chmod a+rw
que todos puedan agregar / eliminar un certificado. Si solo desea que ciertos usuarios puedan agregar / eliminar certificados, puede crear un grupo, asignar las dos bases de datos a ese grupo y otorgar+w
permiso solo al grupo.fuente
La forma más fácil es importar el certificado en un perfil de Firefox de muestra y luego copiar el cert8.db a los usuarios que desea equipar con el certificado.
Primero importe el certificado manualmente en el perfil de firefox del usuario de muestra. Luego copia
en los perfiles de firefox de los usuarios. Eso es. Si desea asegurarse de que los nuevos usuarios obtengan el certificado automáticamente, cópielo
cert8.db
en:Aquí hay una forma alternativa que no anula los certificados existentes: [fragmento de bash para sistemas Linux]
Puede encontrar certutil en el paquete libnss3-tools (debian / ubuntu).
Consulte también: Importación programática del certificado de CA
Fuente: Certificado de instalación programática en Mozilla
fuente
Contrariamente a la creencia popular, puede hacer que Firefox mire los certificados del sistema en lugar de su propio conjunto codificado.
Para hacer esto, querrás usar un paquete llamado p11-kit . p11-kit proporciona un reemplazo directo para
libnssckbi.so
la biblioteca compartida que contiene el conjunto de certificados codificados. La versión del kit p11 lee los certificados del almacén de certificados del sistema.Como Firefox se entrega con su propia versión de
libnssckbi.so
, deberá rastrearlo y reemplazarlo en lugar de la versión provista en libnss3:Luego, elimine el
~/.pki
directorio para que Firefox actualice su base de datos de certificados (haciendo que obtenga los certificados del sistema) al reiniciar Firefox. Nota: esto eliminará todos los certificados existentes en la tienda, por lo que si tiene los personalizados que agregó manualmente, puede hacer una copia de seguridad de esa carpeta y luego volver a importarlos.fuente
dpkg-divert
paso para evitar que APT sobrescriba el archivo nuevamente cuando actualice el paquete de Firefox.Una de las características del complemento CCK Wizard Firefox es la importación de certificados de CA. Utilizo este complemento para crear un complemento personalizado que incluye un CA Cert de empresa. Luego empaqueto el xpi personalizado en un .deb en el repositorio interno del que todas las estaciones de trabajo obtienen actualizaciones.
CCK Wizard
EDITAR: para empaquetar el xpi para Ubuntu, debe crear un paquete que incluya el directorio / usr / lib / firefox-addons / extensions / [addon-name @ servername] y descomprima todo el contenido del xpi en este directorio . Por ejemplo, si nombra su complemento foobarbaz y el servidor desde el que configuró la actualización (si habilita esa función) es intranet.example.com, el directorio sería [email protected]. Nunca habilito la actualización automática, sino que actualizo la deb en el repositorio.
fuente
Firefox funciona después de una instalación limpia. Si
cert8.db
se elimina la base de datos de certificados , se regenera en el próximo inicio de Firefox. Esto sugiere fuertemente que existe un almacenamiento predeterminado de todo el sistema de certificados de CA.El código fuente de Firefox muestra que los certificados de CA incorporados están de hecho codificados en
firefox
ejecutables. Residen en security / nss / lib / ckfw / builtins / certdata.txtPor lo tanto, no hay forma de instalar un certificado en todo el sistema. Tenga en cuenta que parchear el código fuente puede generar problemas con los derechos de propiedad intelectual.
fuente
Estoy usando una aplicación "User Environment Virtualization" (UEV) que hace esto para mis usuarios, pero puede hacerlo con los scripts de inicio de sesión en los clientes de Windows de la misma manera. No publicaré todo el código para encontrar dinámicamente la ruta% APPDATA% \ Mozilla \ Firefox \% PROFILE%, pero cuando la encuentre, puede importar los scripts usando algunos comandos básicos. Básicamente estoy leyendo el archivo Firefox profiles.ini para determinar la ruta al perfil de Firefox / cert8.db.
Es posible que desee ver el uso de la aplicación certutil.exe. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil
Puede ejecutar scripts de inicio de sesión para los usuarios que importan automáticamente los certificados de confianza desde una ubicación central en Firefox de todos los usuarios del sistema.
Aquí está el "núcleo" de mi script vb de importación de certificados:
fuente
Descubrí que la mayoría de las veces y de forma predeterminada si no está configurado, Firefox usa bases de datos de seguridad heredadas (cert8.db, key3.db y secmod.db), lo que significa que necesitará usar una línea de comando diferente para inyectar el certificado en la base de datos correcta que usa Firefox. (ver más del hombre de certutil)
así que si su sistema usa la base de datos predeterminada, el comando debería ser así: (dbm)
de lo contrario debería ser así: (sql)
del hombre certutil:
fuente
certutil
comando funcionó. Estaba buscando automatizar un script de configuración para un solo usuario y esto funciona. Necesitarásapt-get install libnss3-tools
tenercertutil
.