Como acessar o Banco do Brasil com Debian GNU/Linux 8.x Jessie e Java OpenJDK 8

Atualização 31 março 2017: o Banco do Brasil passará a exigir a instalação do módulo de segurança proprietário Warsaw a partir de 01 de abril 2017, desabilitando o acesso via plugin Java. Veja instruções de outro site sobre como instalar no Debian. Atenção se tiver baixado para mais de um banco, pois usam o mesmo módulo Warsaw que contém um daemon e poderá haver conflitos. São instruções adaptadas a partir do passo a passo do Banco do Brasil e a seção FAQ para Linux.

Desde novembro de 2016, o Banco do Brasil exige para acessar seu home banking que os navegadores utilizem plugin Java 8 quando usando Linux.
Então temos a limitação de navegadores que ainda suportem plugin Java NPAPI, e da versão de API Java.
Vamos mostrar como acessar usando Firefox ESR e OpenJDK 8 empacotados para Debian oficialmente e faremos um backport do IcedTea-Web para termos o plugin empacotado corretamente no Debian.
Obteremos o código fonte do pacote IcedTea-Web do repositório do Debian 9.x Stretch (ainda em estágio Testing em novembro 2016) e vamos recompilar o pacote com as bibliotecas do Debian 8.x Jessie.
Fazendo corretamente do modo Debian, as atualizações futuras ficarão muito mais fáceis, sem gambiarras nem bagunça.
Isso para você baixar fontes de locais oficiais e fazer você mesmo as alterações necessárias sem ter de confiar em repositórios desconhecidos.

Primeiro verificar se temos os pré-requisitos para poder fazer o backport de um pacote Debian, e também misturar repositórios de múltiplas versões.
Confira se tem o /etc/apt/preferences similar a este exemplo:
Package: *
Pin: release n=jessie
Pin-Priority: 900
Package: *
Pin: release n=wheezy
Pin-Priority: 50
Package: *
Pin: release a=unstable
Pin-Priority: 20
Package: *
Pin: release a=experimental
Pin-Priority: 10
Package: *
Pin: release a="jessie-backports"
Pin-Priority: 200
Package: *
Pin: release a="stretch"
Pin-Priority: 30


Agora confira se tem as seguintes linhas ADICIONAIS no arquivo /etc/apt/sources.list ou se elas existem em arquivos dentro do diretório /etc/apt/sources.list.d/
#AFM 20161115
deb http://ftp.br.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.br.debian.org/debian/ stretch main contrib non-free
#AFM 20161115
deb http://ftp.br.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.br.debian.org/debian/ wheezy main contrib non-free

Agora instalar os pacotes oficiais já prontos e suas dependências:
apt-get update
apt-get install devscripts dh-autoreconf npapi-sdk-dev default-jre-headless
apt-get install -t jessie-backports openjdk-8-jdk
Configurar para que entre os múltiplos java instalados, o default seja o openjdk-8:
update-alternatives --config java
Pode ser que durante a compilação na sua máquina ocorra erro por faltar algum outro pacote.
Na página do código fonte tem uma lista das dependências de compilação.
https://packages.debian.org/source/stretch/icedtea-web
Leia com atenção a mensagem de erro e instale os pacotes necessários do repositório Jessie tanto quanto possível.

Agora vamos baixar o código fonte do pacote do repositório oficial na versão Stretch:
mkdir -p ~/projetos/icedtea
cd ~/projetos/icedtea/
apt-get source -t stretch icedtea-web
cd icedtea-web-1.6.2/
Agora editar o debian/rules para incluir apenas uma palavra "jessie", da versão do Debian, nas regras de configuração:
nano -cw ~/projetos/icedtea/icedtea-web-1.6.2/debian/rules

~/projetos/icedtea/icedtea-web-1.6.2/debian/rules file
ifneq (,$(filter $(distrel),hardy intrepid jaunty karmic lucid maverick natty oneiric precise lenny etch squeeze))
is7_default = no
default_version = 6
default_plugin_version = 6
else
ifneq (,$(filter $(distrel), wheezy))
default_plugin_version = 6
else ifneq (,$(filter $(distrel), squeeze trusty utopic vivid wily))
is7_default = yes
default_version = 7
default_plugin_version = 7
#AFM 20161115 jessie
else ifneq (,$(filter $(distrel), sid stretch xenial jessie))
is8_default = yes
default_version = 8
default_plugin_version = 8
endif
endif

Agora vamos recompilar o pacote
cd ~/projetos/icedtea/icedtea-web-1.6.2/
nice debuild -uc -us


Finalmente instalar os pacotes que você recompilou e fez backport:
cd ~/projetos/icedtea/
dpkg -i icedtea-plugin_1.6.2-3_all.deb icedtea-8-plugin_1.6.2-3_i386.deb icedtea-netx_1.6.2-3_i386.deb icedtea-netx-common_1.6.2-3_all.deb
Pronto!
Agora acesse o home banking do Banco do Brasil usando o Firefox ESR no Debian 8.x Jessie.

Atualização 21 março 2017:
A partir de 31 de março 2017, o Banco do Brasil desabilitará o acesso com plugin Java e tornará obrigatório o uso do módulo de segurança Warsaw, da Diebold.

Comentários

Postagens mais visitadas deste blog

Tutorial Cyrus IMAP aggregator (murder) 2.3.16 sobre Debian GNU Linux 5.x Lenny

How to configure multipath for high availability and performance on Debian and CentOS for storage at IBM DS8300 SAN

Como instalar Oracle Client no Debian e Ubuntu