Na Caixa Econômica Federal só funciona com o Oracle Java e não com esse plugin Sun Java.
Oi, Edvaldo. Desculpe, não consegui entender o que você quis dizer nesse seu último post.
Alguns conceitos para você entender melhor minha confusão:
1. Java é uma linguagem de programação criada pela empresa estadunidense Sun Microsystems.
2. JRE (Java Runtime Environment / Ambiente de Execução Java) é um conjunto de arquivos de computador que permite, entre outras coisas, a execução de uma JVM (Java Virtual Machine / Máquina Virtual Java). Dentro de um JRE sempre há uma JVM.
3. Os programas escritos em linguagem Java rodam (são executados) dentro de uma JVM. Ou seja: você precisa primeiro executar a JVM, daí, "dentro" da JVM, você abre e executa algum programa escrito em Java (os programas escritos em Java e prontos para execução pela JVM geralmente são arquivos com extensão
.JAR).
4. A Oracle Corporation é uma empresa estadunidense. Em 2010, a Oracle comprou a Sun, portanto dá na mesma dizer "Oracle Java" ou "Sun Java". São sinônimos, porque a empresa Sun é uma parte da empresa Oracle.
5. Atualmente, a Sun/Oracle mantém dois projetos de desenvolvimento de JRE:
5.1. O primeiro JRE da Sun/Oracle é o
JRE proprietário: aquele que você obtém em
www.java.com. O JRE proprietário é desenvolvido
exclusivamente pelos funcionários da Sun/Oracle. O código-fonte do JRE proprietário não está disponível para quem não trabalha na Sun/Oracle. É um projeto de desenvolvimento "fechado". O JRE proprietário não pode ser distribuído pré-instalado em sistemas operacionais. É por isto que nos sistemas GNU/Linux esse JRE não vem instalado: você tem de baixar (download) e instalar.
5.2. O segundo JRE da Sun/Oracle é o
JRE aberto: aquele que vem pré-instalado nos sistemas GNU/Linux. O JRE aberto é desenvolvido dentro do projeto
OpenJDK. Esse projeto é mantido pela Sun/Oracle, porém é aberto à colaboração/contribuição de desenvolvedores do mundo inteiro: qualquer programador pode se cadastrar no projeto OpenJDK e contribuir para o desenvolvimento (a melhoria) do OpenJDK. O código-fonte do OpenJDK é aberto, ou seja, distribuído livre e gratuitamente. É por isso que nas distribuições GNU/Linux o OpenJDK costuma vir pré-instalado.
6. Nos websites dos bancos, geralmente o teclado virtual, a tela de acesso ao internet banking etc. costumam ser pequenos programas que são escritos em linguagem Java e em seguida são "embutidos" na página do banco. Esses pequenos programinhas Java embutidos na página web são denominados
applets Java. Assim como um arquivo JAR, um applet Java também precisa ser executado "dentro" de uma JVM. Mas como fazer o applet ser executado se o arquivo do applet está "dentro" da janela do navegador (ele na realidade está armazenado no disco rígido do computador-servidor do website do banco, mas uma cópia dele vai para o "cache" do seu navegador), ao passo que a sua JVM está instalada no seu computador?
7. É aí que entra o plugin: o plugin "diz" para o seu navegador onde é que (em qual parte do disco rígido, em qual pasta) está instalada a JVM, e daí "pluga" o applet à JVM (para que o applet possa ser executado dentro da sua JVM). Por isto, quando você vincula o plugin Java ao seu navegador, no momento em que o website do banco apresenta o applet, o seu navegador pergunta aos plugins (que estão instalados dentro do navegador): "alguém aí consegue executar este applet?". Nesse momento, o plugin Java "responde" informando que sim. Aí o navegador repassa esse applet para o plugin, que por sua vez executa a JVM que está no seu computador, e com isto a JVM do seu computador (a JVM que está dentro do JRE que você instalou no seu PC) é executada, e o plugin do seu navegador "coloca" o applet do banco "dentro" dessa JVM. Então a JVM executa o applet e o resultado disso aparece diretamente na tela do seu navegador. Em síntese: o plugin é uma "ponte" entre o applet (que está na página do navegador) e a sua JVM (que está no disco rígido do seu computador).
8. Os applets Java dos bancos são desenvolvidos para funcionar apenas com o "JRE proprietário" da Sun/Oracle: os bancos não se preocupam em fazer esses applets serem compatíveis também com o OpenJDK (que é o "JRE aberto" da Sun/Oracle). O que ocorre é que o OpenJDK consegue executar muita coisa que o JRE proprietário executa, por isto em certos websites o OpenJDK vai conseguir fazer tudo o que se espera que ele faça. Mas, por questões de compatibilidade, continua sendo melhor ter instalado o JRE proprietário.
9. O "JRE aberto" da Sun/Oracle já tem um nome: OpenJDK (a palavra JDK refere-se a Kit de Desenvolvimento Java / Java Development Kit. Dentro do JDK há um JRE, e dentro do JRE há uma JVM). Mas o "JRE proprietário" da Sun/Oracle não tem um nome oficial (no website
www.java.com, a Sun/Oracle chama esse "JRE proprietário" simplesmente de "Java"). Por isto, no tutorial eu chamo o JRE proprietário de "Sun Java". Isso é apenas uma abreviação, para eu não ter de ficar toda hora escrevendo "JRE proprietário da Sun/Oracle".
Apresentadas todas estas explicações, observe que ficou estranho você escrever "só funciona com o Oracle Java e não com esse plugin Sun Java", pois "Oracle Java" não deixa claro se você está se referindo ao "JRE aberto" (OpenJDK) ou ao "JRE proprietário". Além disso, como "Oracle Java" é um JRE e todo JRE necessita de plugin para que a JVM desse JRE possa ser executada "dentro" do navegador (e com isto "rodar" os applets dos websites), não faz sentido dizer que um website funciona com determinado JRE mas não com o plugin: sempre haverá uma dupla JRE+plugin para que os applets Java de um website possam funcionar.
O que faz sentido é, por exemplo, dizer que o IcedTea-Web (que é um plugin Java) funciona bem fazendo dupla com o OpenJDK, mas que esse plugin IcedTea-Web não funciona com o JRE proprietário da Sun/Oracle.
No JRE proprietário da Sun/Oracle, o arquivo
libnpjp2.so exerce a função de plugin Java: você cria um link simbólico dentro de uma pasta do seu navegador, de modo que esse link aponte da pasta de plugins do seu navegador para o arquivo de plugin que veio com o seu JRE. Como o JRE proprietário vem com o arquivo de plugin
libnpjp2.so, o link que a gente coloca dentro da pasta de plugins do navegador é um link que aponta para o arquivo
libnpjp2.so, pois assim, quando o navegador executar o plugin, esse plugin será evidentemente compatível com o JRE dele, que é o JRE proprietário que você instalou.
Como eu não sou cliente CEF, não sei como o website da CEF se comporta com a dupla "JRE aberto OpenJDK da Sun/Oracle + plugin IcedTea-Web". Mas eu fui cliente da CEF por um curto período de tempo (somente 1 mês), e, pelo menos na época em que fui cliente CEF, eu usava a dupla que eu uso até hoje no Banco do Brasil: a dupla "JRE proprietário da Sun/Oracle + plugin libnpjp2.so que já vem dentro desse JRE proprietário". Como tanto no Banco do Brasil quanto na CEF a dupla JRE proprietário + libnpjp2 sempre funcionou, é essa dupla que eu uso até hoje. Essa dupla a gente obtém lá em
www.java.com.
Há quem prefira obter a dupla "JRE proprietário da Sun/Oracle + plugin libnpjp2" a partir de um repositório PPA, porque considera mais fácil usar o APT (comandos "apt-get"). Como a turma do Webupd8team mantém um repositório PPA com os arquivos dessa dupla aí, muita gente adiciona esse repositório e passa a atualizar o JRE via apt-get nesse repositório. Como eu explico lá na Introdução do tutorial, eu não gosto de usar PPA pra isso porque repositórios de terceiros não são confiáveis: nada impede que a turma do Webupd8team pegue o JRE lá em
www.java.com, modifique o código (adicione, por exemplo, códigos maliciosos para vasculhar o seu computador), e então disponibilize lá no PPA deles esse JRE "modificado" pela equipe Webupd8team. Se eles fizerem isso, toda vez que você executar algum programa em Java (como p.ex. quando estiver acessando sua conta bancária...) esse "JRE modificado" poderá não apenas fazer tudo o que você espera que ele faça, mas poderá também enviar para a turma do Webupd8team informações a respeito da sua conta bancária, por exemplo. Eu sou neurótico demais para confiar cegamente no Webupd8team, por isto prefiro fazer download diretamente da fonte oficial (
www.java.com) e instalar eu mesmo, manualmente. E criei o tutorial para ensinar os outros a também fazer isso, caso não queiram confiar em repositório PPA.
Esses módulos "Trusteer Rapport", "Warsaw" etc. são programas escritos em outra linguagem (não Java) e já estão compilados. Isso significa que teoricamente eles não precisam de um JRE (tampouco de plugin), pois são executados de maneira independente, "fora" de uma JVM: são como qualquer outro programa que você tem aí no seu computador (jogos, utilitários etc.). A diferença é que esses módulos de segurança, durante a instalação deles, instalam dentro do navegador uma espécie de "add-on" (complemento: não é plugin) que exerce uma função similar à do plugin: no momento em que você acessa o website do banco, o add-on detecta que você está no website do banco e daí executa o módulo que está instalado no seu computador. Esse módulo já possui embutido dentro dele um certificado-raiz, por exemplo, para confrontá-lo com o certificado do website e com isto confirmar se o website que você está acessando é do banco mesmo, ou se é um website falsificado (clone). Esses módulos também são capazes de verificar se o nome de domínio do website coincide com o endereço IP esperado (novamente para verificar se o website é o do banco mesmo, ou se é um website falso/clone) etc.
Embora esses módulos possuam mais recursos que os applets, eles são mais invasivos, porque instalam-se em seu computador e executam diversas funções de varredura e análise do seu sistema e da sua conexão, portanto nada impede que eles coletem dados do hardware do seu computador, do sistema operacional, dos programas que você tem instalado, dos websites que você visita mais frequentemente etc., trace um "perfil" seu e dos seus dispositivos e remeta essas informações aos bancos, para que eles tracem p.ex. o seu "perfil de consumo" e então vendam essas informações suas para "empresas parceiras". É por isto que eu odeio esses módulos!
Este texto ficou gigantesco, mas me esforcei para ser didático e explicar muitas coisas. Agora que você leu isto tudo (espero que tenha tido paciência para ler tudo mesmo, rs
), repasse esse seu conhecimento a outras pessoas e, se possível, peça para elas pressionarem os bancos a adotar soluções menos invasivas, como por exemplo a verificação em duas etapas, que eu mencionei no meu outro post. Eu já andei dando umas reclamadas com o BB quando o módulo Trusteer Rapport passou a ser obrigatório para eu conseguir acessar o BB no meu Macbook, e em breve pretendo enviar mensagem ao BB solicitando implementação de algo no estilo "verificação em duas etapas", na expectativa de que não tentem empurrar guela abaixo esse módulo também para os usuários do Linux.
É isso. Abraço!