Certificado digital no Linux: A1 no navegador, A3 no token e falhas
Certificado digital no Linux funciona, mas o A1 entra pelo repositório do navegador e o A3 depende do driver do token, e é aí que a maioria trava.
Lucimar Fontenele13 de setembro de 2026 · 7 min de leitura

O desenvolvedor migrou o notebook para Ubuntu numa sexta e, na segunda, precisava assinar a nota fiscal da empresa. O arquivo .pfx estava no e-mail, o Chrome estava instalado, e o site da prefeitura pedia o certificado que não aparecia em lugar nenhum. Uma hora de fóruns depois, o problema era um só: o Chrome no Linux não enxerga o certificado do sistema, e sim de um banco próprio que precisa ser alimentado pela linha de comando. Três comandos resolveram.
Usar certificado digital no Linux é possível com os dois modelos da ICP-Brasil, mas cada um entra por uma porta diferente. O A1, que é um arquivo, precisa ser importado no repositório do navegador, e no Chrome isso é feito com a ferramenta pk12util ou pela tela de configurações. Já o A3, em token ou cartão, exige o software do fabricante e o registro do módulo PKCS#11 no navegador, e é nessa etapa que o Ubuntu costuma falhar, porque nem toda marca publica pacote para o sistema.
Este texto mostra como levar o A1 para o Chrome e para o Firefox, como instalar driver e módulo para o A3, quais tokens têm suporte, o que fazer quando o site não lista o certificado e como testar antes de precisar. Entra também a alternativa da nuvem, que dispensa tudo isso.
Aqui estão a importação do A1, o caminho do A3, os tokens com e sem suporte e a tabela comparativa. Entram o teste de leitura, a chave em nuvem, os erros de quem procura o certificado no lugar errado, a ordem para agir, os custos e as dúvidas mais frequentes.
Certificado digital no Linux: importar o A1
O Chrome e o Chromium no Linux usam o banco NSS do usuário, na pasta .pki/nssdb, e não o repositório do sistema. Para o A1, o caminho é instalar o pacote libnss3-tools e rodar pk12util com o arquivo .pfx e a senha, apontando para essa pasta. Depois disso, o certificado aparece em Configurações, Privacidade, Gerenciar certificados, na aba de certificados pessoais, e o site passa a oferecê-lo na hora do login. O Firefox tem o próprio banco e importa pela tela de certificados, sem terminal. Nos dois, o .pfx pode ser apagado depois, e é bom que seja.
O A3: driver e módulo
Token e cartão exigem duas coisas: o software do fabricante, que faz o sistema enxergar o dispositivo, e o módulo PKCS#11, uma biblioteca que o navegador carrega para conversar com o chip. Alguns fabricantes publicam pacote .deb com os dois; outros publicam só o módulo e contam com o OpenSC, projeto aberto que cobre boa parte dos chips. Com o módulo instalado, ele é registrado com o modutil, e o navegador passa a pedir o PIN do token na hora de assinar.
Cartão exige ainda uma leitora com suporte no pcscd, o serviço de leitura de smart card, que precisa estar rodando. Sem ele, o módulo carrega e não encontra nada.
Quando o certificado está importado e o site continua sem listá-lo, o problema costuma ser de cadeia de certificação ou de módulo não carregado. O guia de certificado digital no navegador Chrome percorre os erros comuns, do certificado que não aparece na lista ao token que o navegador não vê, com caminhos para Windows e Mac que valem, na maior parte, para o Linux também. Confirmar a cadeia instalada e o módulo registrado antes de culpar o site poupa a manhã.
Comparativo por tipo e distribuição
| Combinação | Exige | Onde falha |
|---|---|---|
| A1 no Chrome | pk12util na pasta nssdb. | Importar no repositório errado. |
| A1 no Firefox | Importação pela tela. | Raramente. |
| A3 com pacote oficial | Pacote .deb e modutil. | Versão antiga do pacote. |
| A3 sem pacote oficial | OpenSC e pcscd. | Chip não suportado. |
Tokens com e sem suporte
Os tokens mais vendidos no Brasil têm pacote para Linux publicado pelo fabricante, em geral para Ubuntu e Debian, em 64 bits. Modelos mais antigos ou de marcas menores ficam por conta do OpenSC, que reconhece a maior parte dos chips de mercado, mas não todos. Antes de comprar um A3 para usar no Linux, vale conferir no site da marca se há pacote para a distribuição em uso; token sem pacote e fora da lista do OpenSC não funciona, e a única saída é usá-lo em outro sistema.
Leitoras USB de cartão costumam ter suporte genérico e funcionam sem instalação na maioria dos casos.
Testar antes de precisar
O teste mais simples é abrir um site que exija login com certificado, como o portal da Receita ou o do eSocial, e ver se o navegador oferece o certificado na janela de seleção. Aparecendo e entrando, está pronto. Caso contrário, o comando certutil lista o que há no banco do usuário, e o modutil lista os módulos registrados; o que faltar ali é o que falta no navegador. Fazer o teste na semana da emissão, e não no dia do prazo, separa o susto da rotina.
A chave em nuvem
Quem não quer lidar com pacote e módulo tem a opção do modelo em nuvem, em que a chave fica no servidor da certificadora e a assinatura é autorizada pelo celular. No Linux, ele funciona em qualquer navegador, porque não há nada para instalar na máquina, e serve para assinar documentos e acessar sistemas do governo. A limitação é que alguns sistemas antigos só aceitam A1 ou A3.
Erros de quem procura no lugar errado
O erro mais comum é colocar o A1 no armazém de certificados do sistema, com update-ca-certificates, e esperar que o Chrome o veja, quando ele lê só a pasta do usuário. Vem depois instalar o pacote do token e esquecer o modutil, o que deixa o navegador sem saber que o dispositivo existe. Segue comprar token sem conferir se há suporte à distribuição. Fecha a lista testar no dia do prazo. Todos custam a hora de fóruns do começo.
Em ordem, para agir
- Instalar libnss3-tools e, para A3, o pacote do fabricante ou o OpenSC com pcscd.
- Importar o A1 com pk12util, ou registrar o módulo do A3 com modutil.
- Instalar os certificados da cadeia ICP-Brasil na mesma pasta.
- Abrir um site com login por certificado e conferir se ele aparece na seleção.
- Anotar os comandos usados, porque a próxima distribuição vai pedir de novo.
O passo dois resolve na maioria dos casos.
Quanto custa
Nada, no que depende do sistema: as ferramentas são livres e o OpenSC também. O que custa é o certificado, entre R$ 100 e R$ 250 por ano nos modelos comuns, e o token, de R$ 80 a R$ 150, quando o modelo é A3. A versão em nuvem fica na mesma faixa do A1 e dispensa mídia. Quem compra um token sem suporte ao sistema paga duas vezes.
Perguntas frequentes sobre o Linux
Certificado digital no Linux funciona no Chrome?
Sim. O A1 entra com pk12util no banco do usuário e o A3 com o módulo registrado pelo modutil. O Chrome ignora o repositório do sistema.
Todo token tem driver para Linux?
Não. Os mais vendidos têm pacote para Ubuntu e Debian; os demais ficam por conta do OpenSC, que não cobre todos os chips.
O certificado não aparece no site. E agora?
Conferir com certutil se ele está no banco, com modutil se o módulo consta, e se os certificados da cadeia foram instalados.
Firefox é mais fácil que o Chrome?
Para o A1, sim, porque importa pela tela. Para o A3, os dois exigem o módulo, e o processo é parecido.
O modelo em nuvem funciona no Linux?
Sim, em todos os navegadores, sem instalar nada, porque a chave fica no servidor e a autorização vem pelo celular.
Preciso de terminal?
Para o Chrome, em geral sim, porque a tela de importação varia entre distribuições. Três comandos bastam.
Resumo
Certificado digital no Linux funciona nos dois modelos: o A1 é importado na pasta nssdb com pk12util, e o A3 exige pacote do fabricante ou OpenSC, mais o módulo registrado com modutil e o pcscd rodando. O Chrome ignora o armazém do sistema, o token precisa ter suporte na distribuição, e o teste em site com login por certificado confirma tudo antes do prazo. O modelo em nuvem dispensa a instalação e roda em todos os navegadores.


