Como fazer com que o Firefox confie nos certificados CA do sistema?

20

Nosso administrador de rede recentemente ativou a inspeção HTTPS em nosso firewall / roteador. Para os usuários do IE, isso é bom porque todos os certificados foram distribuídos pelo Active Directory para máquinas associadas ao domínio. No entanto, temos vários usuários do Firefox que agora emitem erros de certificado em praticamente todos os sites HTTPS.

O Firefox usa seu próprio repositório de CA, e eles são reais também tem orgulho disso . Existe alguma maneira de fazer com que o Firefox confie no armazenamento de certificados do sistema por padrão? Eu vejo um monte de posts sobre como fazer isso no Linux, mas nada para o Windows.

Eu suspeito de esta postagem que não é possível, mas esse post tem quase 4 anos de idade.

    
por Wes Sayeed 15.09.2015 / 23:24

4 respostas

37

Desde o Firefox 49, existem alguns suporte para certificados de CA do Windows e suporte para certificados raiz corporativos fornecidos pelo Active Directory desde o Firefox 52.

Não há planos para habilitar esse recurso por padrão porque não há design sobre o que acontece quando as lojas do Firefox ou do Windows têm diferentes níveis de confiança nos certificados instalados.

Você pode ativar esse recurso em about:config criando este valor booleano:

security.enterprise_roots.enabled

e defina como true .

Implementando o sistema de configuração

Na pasta de instalação do Firefox, vá para a pasta defaults\pref\ e crie um novo arquivo com o seguinte:

/* Allows Firefox reading Windows certificates */    
pref("security.enterprise_roots.enabled", true);

Salvar com a extensão .js , por exemplo trustwincerts.js e reinicie o Firefox. A entrada aparecerá em about:config para todos os usuários.

Implantando todo o sistema de certificados do Windows

No Firefox de 49 até 51, ele suporta apenas o armazenamento "Root". Desde o Firefox 52, ele suporta outras lojas, incluindo aquelas adicionadas do domínio via AD.

Isso é um pouco fora do escopo, mas explica qual é o único armazenamento de certificados suportado pelo Firefox para as versões 49 a 51 ou apenas para testes locais. Como isso é implantado para todos os usuários de máquinas locais, ele exige privilégios de administrador na janela do CMD / PowerShell ou em seu próprio script de implantação automatizada.:

certutil -addstore Root path\to\cafile.pem

Isso também pode ser feito no Console de Gerenciamento clicando em muitas janelas, se você preferir a maneira do mouse ( Como: Exibir certificados com o snap-in do MMC ).

    
por 16.12.2016 / 19:26
2

Já pensou em implantar esses certificados no Firefox, bem como no armazenamento de certificados do Windows?

link detalha algumas opções:

  1. Modifique o banco de dados de certificados diretamente usando certutil .
  2. Use o recurso autoconfig do Firefox, colocando um arquivo javascript ao lado do binário, para adicionar os certificados:

    var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
    var certdb2 = certdb;
    try {
        certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2);
    } catch (e) {}
    cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.
    certdb2.addCertFromBase64(cert, "C,C,C", "");
    
  3. Distribuir os arquivos do banco de dados de certificados diretamente.
  4. Pacote Firefox para instalação, incluindo os certificados em sua distribuição.
  5. Use CCK2 para criar uma extensão que adicione os certificados.
por 16.09.2015 / 00:47
1

Não há uma boa maneira de lidar com o uso do armazenamento do sistema, mas há uma boa solução alternativa (forçar o uso de uma loja customizada compatível com o firefox).

O bit do script abaixo funciona bem no login / logoff.

Stop-Process -processname firefox

$DBPath="\yourserver\yourshare\cert8.db"
$FirefoxProfiles=Get-ChildItem $Env:appdata\Mozilla\Firefox\Profiles     
$DB=Get-Item $DBPath    
ForEach ( $Profile in $FirefoxProfiles )
{
    $FullPath=join-path $Env:appdata\Mozilla\Firefox\Profiles $Profile
    Copy-Item $DB $FullPath
    $FullPath
}
    
por 15.09.2015 / 23:45
0

Existe projeto gratuito que fornece a capacidade de gerenciar certificados raiz do Firefox usando políticas de grupo. Você pode instalar ou remover certificados raiz do banco de dados do Firefox.

    
por 22.01.2018 / 12:27