O objetivo é confiar apenas em determinados certificados armazenados no disco rígido para determinado perfil. Portanto, nenhuma autoridade certificadora é necessária.
Tentei sem sucesso:
- Exclua todas as CAs usando o Certificate Manager (parte das Preferências do Firefox)
- Excluir
cert9.db
no perfil - Limpe
cert9.db
para 0 bytes e remova todos os sinalizadores de permissão para que o Firefox não possa alterá-lo
Todas as três medidas fizeram com que as CAs reaparecessem (embora não necessariamente no cert9.db
, pelo menos se eu removesse as permissões de gravação desse arquivo; mas ainda no Certificate Manager do Firefox).
Eu me pergunto de onde vêm os CAs. O Firefox os lê da Internet se os sentir falta? Eu não esperava que eles reaparecessem.
Como posso evitar esse comportamento?
Responder1
Existe uma maneira de remover todos os certificados CA no Firefox?
O Firefox usa o MozillaNSSbibliotecas para recursos relacionados à segurança, como TLS. O NSS possui seu próprio armazenamento de CA integrado, que é usado pelo Firefox para obter os certificados de CA padrão.
DePerguntas frequentes da Mozilla:
Os certificados CA pré-carregados estão incluídos nos seguintes arquivos:
- Windows: libnssckbi.dll
- Unix, Linux e outras variantes *nix: libnssckbi.so
- Mac OS X: Conteúdo/MacOS/libnssckbi.dynlib
Portanto, não é possível remover todos os certificados CA, pois fazem parte do próprio Firefox.
É possível retirar toda a confiança de todos os certificados de CA?
DePerguntas frequentes da Mozilla:
Se você não confia em uma CA específica cujo certificado raiz está incluído por padrão nos produtos Mozilla, existem duas maneiras de desabilitar o certificado.
- Desative os bits de confiança desse certificado raiz.
- Exclua o certificado raiz.
- Excluir um certificado raiz que está no armazenamento raiz padrão equivale a desativar todos os bits confiáveis dessa raiz. Portanto, mesmo que o certificado raiz reapareça no Gerenciador de Certificados, ele será tratado como se você tivesse alterado os bits confiáveis desse certificado raiz para desativá-los todos.
Importante:Esta alteração terá um efeito permanente, de modo que os bits de confiança do certificado raiz só poderão ser alterados novamente por você. Esta alteração não será afetada pela atualização para versões mais recentes do software Mozilla. É altamente recomendável que você anote qual certificado raiz você modifica, para que possa reativar os bits de confiança se a alteração afetar negativamente sua experiência de navegação.
Portanto, para desconfiar de todos os certificados CA:
- Vá para
about:preferences#privacy
- Clique
View Certificates...
no final da página - Mudar para a guia
Authorities
- Selecione um certificado
- Clique em
Delete or Distrust...
- Confirme clicando em
OK
- Repita as etapas 4 a 6 para cada certificado
- Reinicie o Firefox
Depois de reiniciar o Firefox, você verá que todos os certificados padrão reapareceram.
Por que os certificados CA continuam reaparecendo após reiniciar o Firefox?
Os certificados padrão não podem ser removidos e, portanto, o Firefox apenas desconfia deles, o que faz com que não possam ser usados para verificar outros certificados. Você pode selecionar um certificado CA e clicar Edit Trust...
para ver se nada é verificado depois de você desconfiar dele.
Uma desconfiança tem o mesmo efeito que a exclusão do próprio certificado, exceto que o certificado ainda será mostrado no Gerenciador de Certificados.
Para maiores informações:Alterando configurações de confiança
Responder2
Parece que o Firefox possui algumas CAs incorporadas ao código.
Esses certificados de CA raiz pré-carregados são distribuídos com a Mozilla e software relacionado na forma de uma biblioteca compartilhada instalada nos sistemas dos usuários junto com o restante do código executável do software. Eles podem, portanto, ser atualizados quando novas versões do software forem lançadas.
Os certificados CA pré-carregados estão incluídos nos seguintes arquivos:
- Windows: libnssckbi.dll
- Unix, Linux e outras variantes *nix: libnssckbi.so
- Mac OS X: Conteúdo/MacOS/libnssckbi.dynlib
Se esses são os certificados que você está tentando excluir, a resposta é negativa, pois eles estão integrados ao código e não são armazenados em nenhum .db
arquivo (para começar). Você pode tentar hackear esses arquivos, mas mesmo que tenha sucesso, precisará repetir o hack para cada nova versão do Firefox.
Encontrei outra configuração que pode ser responsável pelo preenchimento do armazenamento por certificados provenientes do sistema operacional, embora talvez implementado apenas para Windows: security.enterprise_roots.enabled
.
Não há informações sobre como essa about:config
configuração é implementada agora, embora fique claro no artigo que ela ainda está evoluindo. Sugiro testar se está configurado no seu caso.
Do artigo da Mozilla CA:AddRootToFirefox:
A partir da versão 49, o Firefox pode ser configurado experimentalmente para procurar e importar automaticamente CAs que foram adicionadas ao armazenamento de certificados do Windows por um usuário ou administrador. Para fazer isso, defina a preferência "segurança.enterprise_roots.enabled" paraverdadeiro. Neste modo, o Firefox inspecionará o
HKLM\SOFTWARE\Microsoft\SystemCertificates
local do registro (correspondente ao sinalizador da APICERT_SYSTEM_STORE_LOCAL_MACHINE
) para CAs confiáveis para emitir certificados para autenticação de servidor web TLS. Quaisquer CAs serão importadas e confiáveis pelo Firefox, embora observe que elas podem não aparecer no gerenciador de certificados do Firefox. Espera-se que a administração dessas CAs (por exemplo, configuração de confiança) ocorra através de ferramentas integradas do Windows ou de outros utilitários de terceiros. Observe também que para que tais alterações tenham efeito no Firefox, a preferência terá que ser desativada e ligada novamente ou o Firefox terá que ser reiniciado. À medida que esse recurso evolui, isso pode ser tratado automaticamente para facilitar o uso.