CERTIFICADO DIGITAL E DIVERSOS AMBIENTES JAVA NO GNU/LINUX

INTRODUÇÃO

Conforme prometido, segue o procedimento para acessar os sites do TRT e TJSP e, provavelmente, outros sites com problemas de acesso causados pelos conflitos entre versões do Java, ou seja, cada site apenas funciona com uma ou outra versão de Java.

A solução é bem simples: basta instalar 2 ou mais versões do Java e fazer com que o Firefox carregue apenas o plugin Java que você quer usar no referido site. O problema é que o Firefox não permite alternar entre as diversas versões do Java instaladas, por isso, vamos usar uma particularidade do GNU/Linux para conseguir tal feito.

Estou usando o Ubuntu 14.04 com os pacotes do desktop do Lubuntu, por ser mais leve (falta grana para trocar de notebook – ;)), mas efetuei o primeiro procedimento com o Ubuntu 12.04.

O procedimento foi montado usando diversas fontes, procurando. Espero ter incluído os links originais, bem como essa minha ideia de ter 2 ou mais versões do Java instaladas e rodando em harmonia e simultaneamente.

Bem, vamos aos passos.

INSTALAÇÃO INICIAL

Instalar os arquivos do certificado digital no Ubuntu seguindo as instruções do site do ITI (Instituto Nacional de Tecnologia da Informação):

Que está em PDF. Segue o link do download direto:

P.S.: no passo 8 do Tutorial do ITI, onde pede para verificar qual tipo do pacote baixar, use o comando no terminal:

$ uname -a

E verifique na saída do comando, se o seu kernel é de 64 ou 32 bits. No meu caso a saída foi:

Linux nbs 3.13.0-46-generic #79-Ubuntu SMP Tue Mar 10 20:06:50 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Portanto, 64 bits. Após conferir a versão do kernel, baixe o respectivo pacote e continue seguindo o Tutorial do ITI, instale o pacote e a cadeia de certificados. Reinicie seu computador e depois rode o programa tokenadmin no terminal gráfico e verifique se o seu certificado é reconhecido.

Linux: Certificado Digital e diversos ambientes Java no GNU/Linux

INSTALAÇÃO DOS DEMAIS PACOTES

Instale o “openjdk 7”, o “icedtea plugin” e o “icedtea netx” usando o comando:

$ sudo apt-get install openjdk-7-jre icedtea-7-plugin icedtea-netx

Instale o Java 8 da Oracle, usando o PPA fornecidos pelo grupo webupd8team:

Os comandos são:

$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer oracle-java8-set-default

Confira se o Java está corretamente instalado, com o comando no terminal:

$ java -version

 

TESTE / AJUSTES

 

TESTE INICIAL

Se você chegou até aqui, nesse momento você tem o Certificado Digital já reconhecido pelo software “tokenadmin”, pelo Firefox e pelo Java no site do TJSP.

Confira os screenshots:

Linux: Certificado Digital e diversos ambientes Java no GNU/Linux   Linux: Certificado Digital e diversos ambientes Java no GNU/Linux   Linux: Certificado Digital e diversos ambientes Java no GNU/Linux

Até aqui nenhuma novidade, e tenho certeza que muita gente conseguiu sozinho. Agora, o pulo do gato:

  • O Firefox apenas reconhece um plugin Java de cada vez. Se tiver 2 ou mais, como no exemplo dessa instalação, o mesmo apenas carrega o da Oracle.
  • Mesmo que você coloque manualmente o plugin do OpenJDK, o mesmo não é reconhecido, até aparece na lista de plugins, mas não carrega.

AJUSTES

Para fazer com que ele carregue outro plugin, temos que fazer o Firefox carregar as definições do plugin do usuário e não do sistema. No caso do Ubuntu, na pasta /usr/lib/mozilla/plugins/.

Agora vamos para o ajuste técnico. Primeiro, mova e renomeie o arquivo /usr/lib/mozilla/plugins/libjavaplugin.so para/usr/lib/mozilla/libjavaplugin.so.old com o comando:

$ sudo mv /usr/lib/mozilla/plugins/libjavaplugin.so /usr/lib/mozilla/libjavaplugin.so.old

P.S.: para quem não sabe, o comando sudo permite acesso de superusuário. Para que funcione, o usuário precisa ter acesso de administrador no computador em questão.

Depois crie a pasta “plugins” dentro da pasta de configuração do Mozilla no espaço do usuário e copie o link do Java atual para essa pasta, com os comandos:

$ mkdir ~/.mozilla/plugins
$ cp /usr/lib/mozilla/libjavaplugin.so.old ~/.mozilla/plugins/libjavaplugin.so
$ killall firefox
$ firefox https://esaj.tjsp.jus.br

E verifique se ainda conseguem acessar o site do TJSP com o Java da Oracle, aqui funcionou sem problemas. Depois, feche o navegador.

Agora vamos criar uma pasta HOME alternativa, para que possamos carregar outra instância do Firefox usando outra definição do Java e assim, burlar a limitação de ter apenas um plugin Java de cada vez.

$ mkdir ~/.home_alt1
$ mkdir ~/.home_alt1/.mozilla
$ mkdir ~/.home_alt1/.mozilla/plugins
$ ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so ~/.home_alt1/.mozilla/plugins/IcedTeaPlugin.so

Agora vamos rodar o Firefox usando essas definições alternativas, com o comando:

$ HOME=~/.home_alt1 firefox -no-remote https://pje.trt15.jus.br

E acessar o site usando o Certificado Digital através do OpenJDK.

 

CONFIGURAÇÕES FINAIS

 

Apos testar tudo, criar um lançador no Desktop com o nome “firefox.desktop“, com o conteúdo abaixo, e marcar como executável:

[Desktop Entry]
Version=1.0
Name=Firefox Web Browser Java OpenJDK
Name[pt_BR]=Navegador Web Firefox Java OpenJDK
Comment=Browse the World Wide Web Java OpenJDK
Comment[pt_BR]=Navegue na Internet Java OpenJDK
GenericName=Web Browser Java OpenJDK
GenericName[pt_BR]=Navegador Web Java OpenJDK
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
Exec=/bin/bash -c “HOME=$HOME/.home_alt1 firefox -no-remote”
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox

Se preferir, realize o download do arquivo aqui. E desfrutar do acesso alternativo para sites usando o OpenJDK, e não o Java da Oracle.

CONSIDERAÇÕES FINAIS

Os problemas dessa solução:

1. Toda a vez que atualizar o Java da Oracle usando os repositórios do Webupd8team, o mesmo vai reinstalar o plugin na pasta/usr/lib/mozilla/plugins/, nos obrigando a mover e renomear o mesmo novamente.

2. Se você tiver mais de um usuário, vai ter que criar a pasta ~/.mozilla/plugins e copiar o link do plugin do Java da Oracle para cada um deles, mesmo que eles não utilizem o Firefox com Java alternativo.

Espero que isso ajude a quem está com problemas para acessar esses e outros serviços, usando o Certificado Digital.

Qualquer dica e solução para melhorar esse artigo, serão bem-vindas.

Rolar para cima