Configurando certificado A3 no LINUX Mint 19


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/

Script automático 64 bits

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