A configuração de certificados digitais no formato A3 no LINUX possuí uma boa documentação já publicada, mas os softwares envolvidos para esta configuração são para versões antigas do Ubuntu e ao tentar configurar em distribuições mais recentes o procedimento encontra erros por causa de dependências de pacotes .deb não satisfeitas.
Nesta postagem vou detalhar como contornar estes problemas.
O site da certificadora VALID apresenta uma ótima documentação e os arquivos necessários para a configuração e funcionamento do seus próprios certificados como o de certificados de outras empresas certificadoras. Abaixo o link do site da VALID onde podemos fazer o download dos pacotes necessários.
http://www.validcertificadora.com.br/SafeSignLinux
As configurações apresentadas abaixo foram testadas no LINUX Mint 19 Mate, mas a mesma deve funcionar em outras distribuições LINUX derivadas do Debian.
Configurando sua leitora
O primeiro passo é configurar o driver para a nossa leitora. Nos meus testes estou utilizando uma leitora da Gemalto.
Para o funcionamento desta leitora e de várias outras basta instalar o pacote libccid que acompanha todas a distribuições LINUX recentes.
Mais informações podem ser vistas no site da Gemalto.
http://support.gemalto.com/
No exemplo abaixo vamos instalar o pacote libccid
apt-get update apt-get install libccid
Também vamos instalar os pacotes pcscd e pcsc-tools.
apt-get install pcscd pcsc-tools
Para testar se sua leitora está funcionando vamos executar no terminal o comando pcsc_scan. Na imagem abaixo podemos ver que minha leitora Gemalto foi identificada e a mesma não possuiu nenhum cartão inserido.
Comprovado o funcionamento da leitora o próximo passo é instalar a biblioteca safesignidentityclient.
Esta biblioteca é desenvolvida pela SafeSign e é utilizada por várias outras empresas certificadoras e a mesma pode ser baixada do site da VALID nas versões 32 ou 64 bits. Os links estão abaixo:
Versão 32 bits.: safesignidentityclient_3.0.77-Ubuntu_i386.deb
Versão 64 bits.: safesignidentityclient_3.0.77-Ubuntu_amd64.deb
Faça o download do pacote safesign para a versão correta do seu LINUX e depois também faça o download do pacote libgdbm3 32 ou 64 bits para a versão correta do seu LINUX. Os links estão abaixo:
Versão 32 bits.: libgdbm3_1.8.3-13.1_i386.deb
Versão 64 bits.: libgdbm3_1.8.3-13.1_amd64.deb
No exemplo abaixo vou baixar e instalar o pacote libgdbm3 64 bits.
cd /usr/local/src/ wget -c http://mirrors.kernel.org/ubuntu/pool/main/g/gdbm/libgdbm3_1.8.3-13.1_amd64.deb dpkg -i libgdbm3_1.8.3-13.1_amd64.deb
Agora vamos baixar o pacote safesignidentityclient na pasta “/usr/local/src/”
cd /usr/local/src/ wget -c https://s3-sa-east-1.amazonaws.com/shared-www.validcertificadora.com.br/safesignidentityclient_3.0.77-Ubuntu_amd64.deb
Devido aos problemas de dependências que este pacote apresenta no Mint19 não vamos instalar o mesmo. E sim apenas extrair seus arquivos para que possam ser copiados.
Primeiro vamos criar uma pasta dentro /tmp para extrair os arquivos.
mkdir -p /tmp/safesign
Agora vamos extrair os arquivos do pacote .dev
dpkg -x /usr/local/src/safesignidentityclient_3.0.77-Ubuntu_amd64.deb /tmp/safesign/
Como nossa configuração vai ser um “enxerto”, é altamente recomendável não misturar estes arquivos com os arquivos naturais do sistema. Por isto toda nossa instalação vai ser feita dentro da pasta /opt.
Então criaremos as pastas /opt/safesign/bin e /opt/safesign/lib
mkdir -p /opt/safesign/bin /opt/safesign/lib
Agora vamos copiar alguns arquivos que extraímos em /tmp/safesign para /opt/safesign/bin e /opt/safesign/bin
Abaixo a sequencia de comandos que você deve fazer:
cd /tmp/safesign/ cd usr/lib/ cp -av * /opt/safesign/lib/ cd ../bin/ cp -av * /opt/safesign/bin/
Agora vamos configurar o LINUX para que o mesmo procure pelas bibliotecas copiadas em /opt/safesign/lib/
Então temos que criar arquivo em /etc/ld.so.conf.d
Abaixo os comandos necessários:
touch /etc/ld.so.conf.d/safesign.conf echo "/opt/safesign/lib" > /etc/ld.so.conf.d/safesign.conf ldconfig
Configurando seu Navegador
Neste ponto o seu certificado está pronto pra uso e já pode ser configurado e testado no seu navegador Mozilla Firefox.
Abra seu navegador Mozilla Firefox. Vá em.: Menu -> Preferências
Em “pesquisar em preferências” procure por certificados (veja imagem abaixo)
Agora selecione a opção “Dispositivos de Segurança”
Na próxima janela selecione a opção “carregar”
Na janela “Carregar driver de dispositivo PKCS#11” em “Nome do módulo” edite caso deseje ou pode manter como está. Já em “Nome do arquivo do módulo” selecione o botão “Procurar” e navegue até.: /opt/safesign/lib/libaetpkss.so.3 e selecione o mesmo.
Caso não receba nenhuma mensagem de erro o mesmo foi carregado perfeitamente.
Agora na próxima janela selecione a opção “Ver certificados“. Neste momento seu cartão de certificado deve estar inserido na leitora.
Após selecionar a opção “Ver certificados” a próxima janela aparecerá solicitando a senha de seu cartão. Insira a senha correta nesta janela.
Com a senha inserida a próxima janela irá mostrar que seu certificado foi carregado corretamente e está funcional.
Tokenadmin
Junto ao pacote safesing vem a aplicação tokenadmin para que possamos gerenciar seu certificado no cartão. Agora vamos configurar as dependências necessárias para o funcionamento do mesmo.
Precisamos baixar os pacotes libwxbase2.8, libwxgtk2.8 e libtiff4. Abaixo os links para os mesmos.
Versão 32 bits.:
libwxbase2.8-0_2.8.12.1-6ubuntu2_i386.deb
libwxgtk2.8-0_2.8.12.1-6ubuntu2_i386.deb
libtiff4_3.9.6-9ubuntu1_i386.deb
libpng12-0_1.2.54-1ubuntu1.1_i386.deb
Versão 64 bits.:
libwxbase2.8-0_2.8.12.1-6ubuntu2_amd64.deb
libwxgtk2.8-0_2.8.12.1-6ubuntu2_amd64.deb
libtiff4_3.9.6-6ubuntu1_amd64.deb
libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
Nos exemplos abaixo estaremos configurando na versão 64 bits.
cd /usr/local/src wget -c https://s3-sa-east-1.amazonaws.com/shared-www.validcertificadora.com.br/libwxbase2.8-0_2.8.12.1-6ubuntu2_amd64.deb wget -c https://s3-sa-east-1.amazonaws.com/shared-www.validcertificadora.com.br/libwxgtk2.8-0_2.8.12.1-6ubuntu2_amd64.deb wget -c https://s3-sa-east-1.amazonaws.com/shared-www.validcertificadora.com.br/libtiff4_3.9.6-6ubuntu1_amd64.deb wget -c http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb dpkg -i libtiff4_3.9.6-6ubuntu1_amd64.deb dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb mkdir -p /tmp/wx dpkg -x libwxbase2.8-0_2.8.12.1-6ubuntu2_amd64.deb /tmp/wx dpkg -x libwxgtk2.8-0_2.8.12.1-6ubuntu2_amd64.deb /tmp/wx cd /tmp/wx/usr/lib/x86_64-linux-gnu cp -av * /opt/safesing/lib/ ldconfig cd /usr/local/bin ln -sf /opt/safesign/bin/* ./
Já podemos testar o funcionamento do aplicativo digitando tokenadmin no terminal e aplicativo se abrirá como na imagem abaixo.
update-icon-caches /usr/share/icons/*
cd /tmp/safesign/ cd usr/lib/ cp -av * /opt/safesign/lib/ cd ../bin/ cp -av * /opt/safesign/bin/
Fontes utilizadas:
Valid Certificadora Digital – PARA USUÁRIOS LINUX
Usando certificado digital GOV.BR no Firefox em Debian GNU/Linux
Instalando o SafeSign Crypto USB Token no Firefox/Linux
Instalado e utilizando o Token GD Starsign com o certificado A3 no Ubuntu
Utilizando certificados e-CNPJ e e-CPF no Linux
Instaladores – Mac OS e Linux
Suporte Gemalto
Dicas-L – Utilizando smartcards