Quero adicionar algumas CAs raiz que não acompanham o Firefox padrão no Ubuntu, mas não sei como.
Tentei adicioná-los aos certificados locais com certutil
, mas não funcionou. Ele bagunçou meu banco de dados 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"
e depois
$ 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 ,,
O certificado não será exibido no Firefox. Eu tentei isso várias vezes, até excluindo o perfil, e ele apareceu uma vez na interface do Firefox, mas completamente vazio.
Enfim, isso é apenas para um usuário, e eu quero adicioná-los em todo o sistema. Existe um banco de dados em todo o sistema que eu possa modificar? Quão?
Se não houver um banco de dados em todo o sistema que eu possa modificar, posso confiar em um script X start (como /etc/X11/Xsession.d/
um ou em um script chamado pelo sistema de inicialização automática xdg /etc/xdg/autostart/
) para modificar o perfil do usuário no início da sessão, mas preciso de uma solução que trabalho. Não consigo carregar certificados nos perfis de usuário a partir da linha de comando agora!
fonte
profiles.ini
? Em seguida, você pode adicionar suas alterações e copiá-loprofiles.ini
para cada diretório de usuário.firefox -p
- mas é necessário fechar o Firefox primeiro.Respostas:
O problema aqui é que o Firefox não possui um local 'central' onde procura certificados. Apenas analisa o perfil atual. É por isso que modificar
/usr/share/ca-certificates
ou outros diretórios semelhantes não funciona com o Firefox. Isso é algo que é solicitado há anos; consulte os problemas 620373 , 449498 e 454036 (e provavelmente existem muitos outros).Então você tem apenas dois tipos de soluções: modifique cada perfil ou modifique o comportamento do Firefox. Sei que não é isso que você está procurando, mas não há como o Firefox olhar apenas para os perfis dos usuários.
Dito isto, a solução que eu escolheria é usar links físicos ou simbólicos, especificamente eu usaria links físicos. Essa solução é certamente a mais fácil e provavelmente a melhor, embora eu não tenha informações suficientes para julgar.
O que você precisa fazer é remover basicamente os arquivos
cert8.db
ekey3.db
para cada perfil e substituí-los por links para os "mais completos"cert8.db
ekey3.db
. Se você vai com hardlinks, o originalcert8.db
ekey3.db
será indistinguível dos novos.Lembre-se de ajustar as permissões para atender às suas necessidades. Provavelmente, você precisará fazer
chmod a+rw
isso para que todos possam adicionar / remover um certificado. Se você deseja que apenas alguns usuários possam adicionar / remover certificados, crie um grupo, atribua os dois bancos de dados a esse grupo e dê+w
permissão apenas ao grupo.fonte
A maneira mais fácil é importar o certificado em um exemplo de perfil do firefox e depois copiar o cert8.db para os usuários que você deseja equipar com o certificado.
Primeiro importe o certificado manualmente para o perfil do firefox do usuário da amostra. Então copie
nos usuários firefox-profiles. É isso aí. Se você deseja garantir que novos usuários obtenham o certificado automaticamente, copie
cert8.db
para:Aqui está uma maneira alternativa que não substitui os certificados existentes: [fragmento de bash para sistemas linux]
Você pode encontrar certutil no pacote libnss3-tools (debian / ubuntu).
Consulte também: Importação programática do certificado da CA
Fonte: Instalar programaticamente o certificado no Mozilla
fonte
Ao contrário da crença popular, você pode fazer o Firefox examinar os certificados do sistema, em vez de seu próprio conjunto codificado.
Para fazer isso, você desejará usar um pacote chamado p11-kit . O p11-kit fornece um substituto para
libnssckbi.so
a biblioteca compartilhada que contém o conjunto de certificados codificados. A versão do p11-kit lê os certificados no armazenamento de certificados do sistema.Como o Firefox é fornecido com sua própria versão
libnssckbi.so
, você precisará localizá-lo e substituí-lo, em vez da versão fornecida na libnss3:Em seguida, exclua o
~/.pki
diretório para que o Firefox atualize seu banco de dados de certificados (fazendo com que ele receba os certificados do sistema) ao reiniciar o Firefox. Nota: isso excluirá todos os certificados existentes na loja; portanto, se houver certificados personalizados adicionados manualmente, convém fazer backup dessa pasta e importá-los novamente.fonte
dpkg-divert
etapa para evitar que o APT substitua o arquivo novamente ao atualizar o pacote Firefox.Um dos recursos do complemento CCK Wizard Firefox é a importação de certificados da CA. Eu uso esse complemento para criar um complemento personalizado que inclui um CA Cert da empresa. Em seguida, empacoto o xpi personalizado em um .deb no repositório interno do qual todas as estações de trabalho obtêm atualizações.
Assistente CCK
EDIT: Para empacotar o xpi para Ubuntu, você precisa criar um pacote que inclua o diretório / usr / lib / firefox-addons / extensions / [addon-name @ servername] e descompacte todo o conteúdo do xpi neste diretório . Por exemplo, se você nomear seu addon foobarbaz e o servidor para o qual você configurou a atualização (se você habilitar essa função) for intranet.example.com, o diretório será [email protected]. Eu nunca ativei a atualização automática, mas atualizei o deb no repo.
fonte
O Firefox funciona após uma instalação limpa. Se o banco de dados do certificado
cert8.db
for excluído, ele será regenerado na próxima inicialização do Firefox. Isso sugere fortemente que há um armazenamento padrão de certificados de autoridade de certificação em todo o sistema.O código fonte do Firefox mostra que os certificados CA incorporados são de fato codificados em
firefox
executáveis. Eles residem em security / nss / lib / ckfw / builtins / certdata.txtPortanto, não há como instalar um certificado em todo o sistema. Lembre-se de que o patch do código fonte pode trazer problemas aos direitos de propriedade intelectual.
fonte
Estou usando um aplicativo "Virtualização do Ambiente de Usuário" (UEV) que faz isso para meus usuários, mas você pode fazer isso com scripts de logon em clientes Windows da mesma forma. Não postarei todo o código para encontrar dinamicamente o caminho% APPDATA% \ Mozilla \ Firefox \% PROFILE%, mas quando você o encontrar, poderá importar os scripts usando alguns comandos básicos. Basicamente, estou lendo o arquivo profiles.ini do Firefox para determinar o caminho para o perfil / cert8.db do Firefox.
Você pode querer usar o aplicativo certutil.exe. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil
Você pode executar scripts de logon para usuários que importam automaticamente os certificados confiáveis de um local central para o Firefox de todos os usuários no sistema.
Aqui está o "núcleo" do meu certificado de importação de script vb:
fonte
Descobri que na maioria das vezes e por padrão, se não configurado, o Firefox usa bancos de dados de segurança herdados (cert8.db, key3.db e secmod.db), o que significa que você precisará usar uma linha de comando diferente para injetar o certificado. o banco de dados correto que o Firefox usa. (veja mais do homem de certutil)
portanto, se seu sistema usa o banco de dados padrão, o comando deve ser assim: (dbm)
caso contrário, deve ser assim: (sql)
de man certutil:
fonte
certutil
comando funcionou. Eu estava procurando automatizar um script de configuração de usuário único e isso faz o truque. Você precisaráapt-get install libnss3-tools
tercertutil
.