Token OAB Certisign no Linux: a saída pela VM
Batalhei semanas com drivers Linux quebrados do token USB da OAB. A solução limpa não é consertar o driver — é isolar o Windows numa VM e fazer passthrough USB.
O problema
Sou advogado e uso Linux (um sistema operacional alternativo ao Windows). No Brasil, essa é uma combinação problemática: toda petição eletrônica precisa ser assinada com um token USB criptográfico da OAB — pense nele como um “pendrive de segurança” com sua assinatura digital (geralmente emitido pela Certisign, e dos modelos SafeNet ou GD Burti).
O grande drama é que os drivers desses tokens para Linux são historicamente quebrados. Para quem não sabe, o driver é o “tradutor” que faz o sistema operacional entender o peça de hardware que você plugou. No Linux, esses tradutores são mal mantidos e dependem de compilações infernais de bibliotecas PCSC antigas (programas internos que leem cartões e tokens). Para piorar, eles quebram a cada atualização do kernel — que é o “coração” do sistema operacional.
Eu batalhei semanas. Tentei instalar o driver oficial, tentei forks da comunidade (versões modificadas por outros programadores), tentei compilar o pcsc-lite na mão. Funcionava por um dia e quebrava no primeiro apt upgrade (comando que atualiza os programas do sistema). O meu grito de guerra era “por mim eu abriria mão do Windows de vez” — mas o token não deixava.
A solução que finalmente estabilizou não foi consertar o driver no Linux. Foi parar de tentar. A saída foi isolar o Windows dentro de uma Máquina Virtual (VM) e fazer um passthrough USB do token (ou seja, fazer o Windows “enxergar” o pendrive direto, como se estivesse num computador de verdade). Leva um setup inicial de uma hora e funciona para sempre, sobrevivendo a qualquer atualização do Linux host (o seu computador principal).
A estratégia da VM
A ideia é simples: eu rodo o Windows, mas só dentro de uma janela, exclusivamente para assinar os documentos. O Linux continua sendo meu sistema principal; a VM funciona como um “ambiente de assinatura” isolado.
Por que isso funciona melhor do que tentar ajeitar o driver no Linux? Porque o driver oficial funciona perfeitamente no Windows. O problema nunca foi o token físico, mas sim a camada de tradução do Linux. Ao remover essa camada problemática (em vez de gastar energia tentando consertá-la), o token funciona exatamente como foi desenhado para funcionar.
O setup, passo a passo
1. VirtualBox + Extension Pack
Recomendo usar o VirtualBox (um programa gratuito para criar computadores virtuais) pela facilidade com que ele gerencia portas USB. Instale-o no seu Linux principal (Ubuntu, MX Linux, etc).
Para que o VirtualBox consiga “roubar” o pendrive USB do Linux e entregá-lo para o Windows virtual (chamado de “convidado”), você precisa de duas coisas:
- Baixar e instalar o VirtualBox Extension Pack (um pacote de expansão; sem ele, a passagem direta do USB não funciona).
- Adicionar seu usuário do Linux ao grupo
vboxusers(uma lista de permissões do sistema):
sudo usermod -aG vboxusers $USER
Esse segundo passo é o que as pessoas mais esquecem. Sem pertencer a esse grupo de permissões, o VirtualBox não tem autorização para mexer no USB — e o erro que aparece não é óbvio. Depois de rodar o comando, faça logout e login de novo (ou reinicie o computador) para a regra fazer efeito.
2. Windows leve na VM
Crie uma máquina virtual com o Windows 10. Você não precisa de uma máquina potente: 2GB de memória RAM bastam, e 30GB de espaço no disco já é até excesso.
Uma boa sugestão: use uma ISO otimizada (uma imagem de instalação limpa, tipo a versão LTSC) ou use scripts de debloat (como os do Chris Titus, que removem programas inúteis do Windows). O objetivo é que a VM seja apenas um ambiente de assinatura bem leve, e não um Windows cheio de programas pesados acumulando lixo.
Não instale nada além do essencial: o driver do token, os programas dos tribunais (PjeOffice ou Shodo) e um leitor de PDF. Quanto mais enxuta a VM, mais rápido ela liga e por mais tempo fica estável.
3. Configurar o passthrough
Com a sua Máquina Virtual desligada:
- Vá nas Configurações da VM → abra a aba USB.
- Marque a opção Controladora USB 3.0 (xHCI). (A opção USB 2.0 funciona, mas é lenta; a 1.1 nem tente).
- Insira o token Certisign físico na porta USB do computador.
- Clique no ícone “Adicionar Filtro” (um desenho de um plugue com um sinal de +).
- Selecione o seu dispositivo na lista (por exemplo:
SafeNet Token JCouGD Burti).
Agora, inicie a VM. Quando ela liga, o Linux “desconecta” o token dele mesmo e o entrega diretamente para o Windows virtual. Dentro do Windows, instale o driver oficial da Certisign. Tudo funciona instantaneamente, sem nenhuma gambiarra.
O porquê do filtro em vez de captura manual: o filtro diz ao VirtualBox “sempre que esse dispositivo aparecer, mande para a VM automaticamente”. Sem o filtro, você teria que clicar para conectar o token manualmente toda vez que ligasse a VM. Com o filtro, o processo fica 100% automático.
O fluxo de trabalho
Quando você gera um arquivo PDF ou DOCX (uma petição ou contrato) no seu Linux:
- Pasta compartilhada. Configure uma Shared Folder (uma pasta compartilhada entre o Linux principal e a VM Windows — é uma configuração única que fica salva para sempre).
- Salve o arquivo nessa pasta a partir do Linux.
- Abra na VM, insira a senha do token e assine o documento usando o PjeOffice ou Shodo.
- O arquivo assinado aparece automaticamente de volta na pasta do Linux, prontinho para ser enviado no PJe ou Eproc do tribunal.
Depois de tudo configurado, o ciclo inteiro (salvar → assinar → enviar) leva menos de um minuto. A VM pode ficar minimizada o tempo todo; você só abre a janela dela na hora de digitar a senha do token.
O que aprendi
A lição que fica, e que serve para muitas outras situações: quando uma camada do sistema é cronicamente quebrada, a solução pode ser remover essa camada em vez de tentar consertá-la. Eu gastei semanas tentando ajeitar o driver de Linux do token. A solução de verdade foi parar de tentar rodar esse driver no Linux — e usar o driver original do Windows dentro de uma VM isolada. Isso não é desistir; é engenharia: isolar o problema onde ele não pode mais te atrapalhar.
E o segundo aprendizado, mais geral: quando o assunto é compatibilidade de hardware proprietário (equipamentos com código fechado), a Máquina Virtual é o seu adaptador universal. Isso não serve só para o token da OAB — serve para leitor de cartão smartcard, impressora fiscal ou qualquer outro aparelho cujo fabricante só lança driver para Windows. Em vez de ficar esperando a boa vontade do fabricante lançar um driver para Linux (que pode nunca vir), a VM resolve o seu problema hoje e continua funcionando mesmo se o seu sistema atualizar. Vale super a pena o setup inicial de uma hora para nunca mais dor de cabeça com isso.
Comentários
Carregando comentários…