eToken Aladdin Pro 72k: como instalar drivers no Ubuntu?

Iniciado por ManoelNascimento, 08 de Fevereiro de 2013, 02:25

tópico anterior - próximo tópico

ManoelNascimento

O título deste post bem poderia ser "minhas aventuras com o etoken da OAB"  ;D, mas seria pouco preciso.

Por necessidade profissional, me vi obrigado a investir num token Aladdin eToken Pro 72k, para guardar o certificado digital da OAB.

Recebi o token, e o pluguei no computador. Sua luz acende, mas ele não monta. Um lsusb me mostra que ele está lá:

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 15d9:0a4f Trust International B.V.
Bus 001 Device 004: ID 093a:2620 Pixart Imaging, Inc.
Bus 002 Device 003: ID 0529:0620 Aladdin Knowledge Systems (é este aqui)


Infelizmente, apesar de ser lido pelo lsusb, ele não é acessado pelo Nautilus ou por qualquer outro programa. Pensei de ser um problema com o plug USB; troquei, e nada. Outros pendrives são lidos e reconhecidos sem qualquer problema, mas o token não.

Como ainda restava a instalação do certificado no token, deixei para ver a questão quando o fizesse, com os técnicos envolvidos. Mas o fato de a página de drivers da CertiSign (http://www.certisign.com.br/atendimento-suporte/downloads/tokens), empresa responsável pela certificação, não mostrar nenhum driver para Linux já me deixou apreensivo.

Ao encontrar com os técnicos responsáveis pela certificação, procurei saber se havia driver para Linux, e eles me disseram que procurasse a CertiSign. No computador deles, o token não só foi reconhecido como o certificado foi instalado etc..

Voltei para casa esperando que após a instalação do certificado o token fosse lido. Pluguei o token novamente, e nada de ser reconhecido.

Enquanto isto, continuei procurando pelos drivers, desta vez junto à CertiSign. Uma atendente da CertiSign, em atendimento via chat, disse secamente que eu precisava "baixar um sistema compatível" e encerrou a conversa. Além de mal-educada, incentiva a pirataria. (Já mandei uma mensagem para a ouvidoria deles alertando sobre isto.)

Na falta de drivers oficiais, parti para a pesquisa de uma solução alternativa. Descobri (http://ubuntu.5.n6.nabble.com/etoken-pro-72k-java-drivers-p-ubuntu-12-td5000251.html) que há drivers do token para Ubuntu.num repositório (http://repo.secdiary.com/packages/pool/main/). Instalei-o, segui as demais orientações, mas não funcionou. Um usuário observou (http://www.vleeuwen.net/2012/08/install-aladdin-etoken-on-ubuntu-12-04-lts) que "a versão para 64 bits não funciona de jeito nenhum" ("the 64 bits version doesn't work at all").

Pesquisei um pouco, e descobri que nos repositórios do Ubuntu há os pacotes pcscd e opensc, que, segundo vários usuários em várias páginas diferentes (foram muitas, não dá para citar todas aqui), funciona para acessar o token. Instalei-os, reiniciei o computador, pluguei o token, e ele continuou sem ser reconhecido.

Fui mais fundo. Descobri uma página bastante rica em informações (http://www.etokenonlinux.org/et/), que chega a dar um passo a passo (http://www.etokenonlinux.org/et/HowTos/eToken_on_Linux) para a instalação de drivers, mas como não entendo muito de programação (e este me parece ser o site de um programador), boiei. Não vou arriscar mexer no que não conheço para depois ter de lidar com um sistema defeituoso, corrompido por minha própria ignorância.

Queimei pestanas até lembrar da virtualização. Tenho uma VirtualBox com um XP instalado, então resolvi testar. Descobri, infelizmente, que a virtualbox-ose não lê USB. Removi-a e instalei o pacote da Oracle. Instalei a extensão para acessar USB. Deu o clássico erro de "Kernel drive not installed (rc=-1908)". Resolvi o problema dando permissão a todos os usuários para integrar o grupo "vboxusers" e abri a dita cuja. Pimba! O token foi reconhecido!

Um alívio. Mas não é isto o ideal. Apesar de ser uma solução imediata, não posso depender exclusivamente da virtualização para trabalhar.

Com isto, cheguei a um impasse.

(1) lsusb encontra o token quando ele é plugado, mas nenhum outro programa o reconhece. (1.1) Se o problema for parecido com o de um iPod velho que usei até se desmantelar, há alguma biblioteca impedindo o reconhecimento. No caso do iPod, bastou remover libgpod-common e ele passou a ser reconhecido. Mas, se for este o caso, que biblioteca poderia ser responsável por isto?

(2) Não há drivers oficiais. O repositório que aparece numa pesquisa é bem problemático, e o programa Safenet Authentication Client que ele fornece "não funciona de jeito nenhum". A outra solução é muito complicada para meus conhecimentos, e preferi não arriscar. Como é possível instalar estes drivers? Seria a falta deles a causa do não-reconhecimento do token?

(3) O reconhecimento pelo XP virtual eliminou qualquer possibilidade de existir defeito no token, mas não sei como fazer para acessá-lo via Ubuntu.

Como dependo deste token para trabalhar cotidianamente, vim aqui pedir auxílio. E, depois disso tudo, por favor, se houver solução para o Ubuntu reconhecer o token, me digam que é uma daquelas soluções cabulosas que só alguém com pós-doutorado do MIT poderia ter conseguido.  ;D

Ioca100

Se a empresa fabricante não fez os drivers para o Linux, assim fica muito difícil. Acho que a virtualização seja a solução por ora.Vamos aguardar outras opiniões.Boa sorte!
Usuário Linux- 449417

Tota

Ola

após ler o tópico, não pude observar se as bibiotecas para 32 bits foram instaladas por você em  seu sistema.

Pelo entendido, você usa Ubuntu 64 bits e a versão 32 bits do e token funciona, logo, instalando o suporte a 32 bits o processo deve funcionar

Não pude ver a saída do comando sudo dmesgcom a parte referente ao token, seria interessante postar a parte referente a ele para uma análise do fórum.

[]'s

Kriptolix

ManoelNascimento

Tenho trabalhado com tokens desse tipo no windows, mas como uso linux acabei me informando sobre o assunto, voce deve saber algumas coisas sobre ele:

1 - o Token nao monta como um pendrive, ele é apenas detectado e é isso, ele nao monta pq nao é uma memoria flash (apesar de ter uma como parte do dispositivo), ele é um dispositivo microprocessado (algo mais parecido com um mp3 ou celular).

2 - Devido ao ponto 1, o acesso a ele se da por software do fabricante apenas (com excessao de alguns caras com conhecimento avançado pra acessa-lo de outras formas), entao basicamente a briga se concentra em dois pontos: a) instalar o modulo do kernel (correspondente a um driver no windows) que faz o linux reconhcer o hardware (aparentemente o seu ja esta sendo reconhecido) e b) conseguir fazer com que o programa de acesso do fabricante (que se nao me engano é java) acesse o aparelhinho.

Eu estou sem tempo no momento, mas vou analisar o link que voce postou e ver se consigo descomplicar ate chegar a uma soluçao viavel, pode demorar pois o meu tempo anda curto.

ps: Nao sei se precisa de pos doutorado, acho que so um mestrado no mit ja deve resolver, haahhaah
Ubuntu Linux 10.10

Kriptolix

ManoelNascimento

consegui acessar as propriedades do meu tokem no ubuntu, infelizmente nao tenho um 64 bits aqui pra testar, mas no 32 bits o procedimento do blog referenciado no forum que voce citou funcionou sem problemas, fiquei na duvida de como vc usa o token, voce assina o que com ele? ou apenas acessa algum conteudo? dependendo do que seja os programas envolvidos podem ter alguma incompatibilidade,

o que eu fiz:

1 -  instalei os pre requisitos com sudo apt-get install pcscd libccid libhal1 opensc

2 - baixei o middware da aladim aqui http://www.isecurity.info/downloads/eToken_PKI_Client_4_55_Linux_0.zip

3 - descompactei

4 - instalei o pkiclient-full_4.55-33_i386.deb

depois disso ja consegui acessar o menu de propriedades, troca senha, informaçoes e etc, agora vou ver se o programa de assinatura vai reconhecer direitinho, eu aviso no que deu.

Ubuntu Linux 10.10

ManoelNascimento

Citação de: Tota online 08 de Fevereiro de 2013, 09:33
Ola

após ler o tópico, não pude observar se as bibiotecas para 32 bits foram instaladas por você em  seu sistema.

Pelo entendido, você usa Ubuntu 64 bits e a versão 32 bits do e token funciona, logo, instalando o suporte a 32 bits o processo deve funcionar

Não pude ver a saída do comando sudo dmesgcom a parte referente ao token, seria interessante postar a parte referente a ele para uma análise do fórum.

[]'s

Oi Tota, tentei instalar as bibliotecas para 32 bits, e o que deu foi o seguinte:

Selecionando pacote safenetauthenticationclient previamente não selecionado.
(Lendo banco de dados ... 627855 ficheiros e directórios actualmente instalados.)
Desempacotando safenetauthenticationclient (de SafenetAuthenticationClient-8.0.5-0_i386.deb) ...
dpkg: problemas de dependência impedem a configuração de safenetauthenticationclient:
safenetauthenticationclient depende de pcscd (>= 1.4.4).

dpkg: erro ao processar safenetauthenticationclient (--install):
problemas de dependência - deixando desconfigurado
Processando gatilhos para ureadahead ...
Erros foram encontrados durante o processamento de:
safenetauthenticationclient

ManoelNascimento

Citação de: Tota online 08 de Fevereiro de 2013, 09:33

Não pude ver a saída do comando sudo dmesgcom a parte referente ao token, seria interessante postar a parte referente a ele para uma análise do fórum.


A saída do dmesg sobre o token é esta aqui:

[47879.500779] usb 2-1.5: new full-speed USB device number 4 using ehci_hcd
[47879.595340] usb 2-1.5: New USB device found, idVendor=0529, idProduct=0620
[47879.595345] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[47879.595348] usb 2-1.5: Product: Token JC
[47879.595350] usb 2-1.5: Manufacturer: Aladdin

ManoelNascimento

Citação de: Kriptolix online 08 de Fevereiro de 2013, 14:00
1 -  instalei os pre requisitos com sudo apt-get install pcscd libccid libhal1 opensc

2 - baixei o middware da aladim aqui http://www.isecurity.info/downloads/eToken_PKI_Client_4_55_Linux_0.zip

3 - descompactei

4 - instalei o pkiclient-full_4.55-33_i386.deb

Segui os mesmos passos. O resultado está no snapshot: o eToken Properties fica meio estranho, o PKIMonitor dá uma mensagem que não entendi:

Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated.
QPixmap::fromImage: Cannot convert a null image
QPixmap::fromImage: Cannot convert a null image
QPixmap::fromImage: Cannot convert a null image


E o token ainda não é reconhecido.

ManoelNascimento

#8
Tentei instalar novamente o Safenet Authentication Client. É preciso desinstalar o PKI Client, pois há conflitos entre dependências dos dois. Instalei, aparecem os ícones no menu, ele instala dois programas: "eToken Properties" (etProps) e "Start eToken PKI Client" (PKIMonitor), e o resultado de cada um deles é o seguinte:

etProps:
$ etProps
etProps: error while loading shared libraries: libeToken.so.8: cannot open shared object file: No such file or directory


PKIMonitor:
$ PKIMonitor
PKIMonitor: error while loading shared libraries: libeToken.so.8: cannot open shared object file: No such file or directory


ManoelNascimento

Fui descobrindo umas coisas curiosas.

(1) Quem tenta instalar o Safenet Authentication Client com o repositório http://repo.secdiary.com/packages/pool/main/ marcado não consegue, mas depois de desmarcá-lo os pacotes avulsos instalam direitinho. É melhor baixar os pacotes do repositório e instalá-los manualmente, pois o repositório dá uns problemas no update.

(2) Depois de instalada a versão i386, os programas instalados dão as seguintes mensagens:

etProps:
$ etProps
etProps: error while loading shared libraries: libhal.so.1: wrong ELF class: ELFCLASS64


PKIMonitor:
$ PKIMonitor
PKIMonitor: error while loading shared libraries: libhal.so.1: wrong ELF class: ELFCLASS64


(3) Esta dica aqui (http://www.vleeuwen.net/2012/08/install-aladdin-etoken-on-ubuntu-12-04-lts) não funciona com a versão 64 bits por duas razões: (a) Quem procurar uma pasta /usr/lib/eToken após a instalação não a encontrará, pois a pasta "eToken" está no endereço /usr/lib32/eToken. Mesmo depois de colocar este endereço no arquivo /etc/ld.so.conf.d/wwwwetoken-ld.conf a versão amd64 continua dando as mensagens acima. (b) A mesma página fala em comentar "exit 0" no arquivo /etc/init.d/pcscd, mas neste arquivo o que há é o seguinte:


43 
44  # Do not start at boot using systemd but start using on-demand
45  # http://ludovicrousseau.blogspot.com/2011/11/pcscd-auto-start-using-systemd.html
46  if [ $1 = "start" -a -d /sys/fs/cgroup/systemd ]
47  then
48  # Do not start from this script
49  exit 0
50  fi


Ou seja, a linha 43 na versão amd64 é vazia, não tem o "exit 0" que deveria ser comentado.

(4) Depois de instalar a versão i386 do Safenet Authentication Client, tentei seguir as mesmas duas dicas do item anterior. O resultado é este:

Selecionando pacote safenetauthenticationclient previamente não selecionado.
(Lendo banco de dados ... 632469 ficheiros e directórios actualmente instalados.)
Desempacotando safenetauthenticationclient (de .../SafenetAuthenticationClient-8.0.5-0_i386.deb) ...
Configurando safenetauthenticationclient (8.0.5-0) ...
/usr/bin/eTSrv: error while loading shared libraries: libhal.so.1: wrong ELF class: ELFCLASS64
Adding Token security provider......done
Please reboot to run Token PKI service.
SafeNet Authentication Client installation completed.
Processando gatilhos para ureadahead ...
Processando gatilhos para libc-bin ...
ldconfig deferred processing now taking place


O pacote i386 instala no lugar certo a pasta "eToken" (/usr/lib/eToken), então foi possível seguir à risca a dica de colocar este endereço no arquivo "wwwwetoken-ld.conf".

E depois disso tudo, o token ainda não é reconhecido.

ManoelNascimento

Alguma dica? Tentei novamente todos os procedimentos abaixo, e os resultados foram os mesmos. Por enquanto, estou "travado" nos pontos que descrevi abaixo.

ManoelNascimento

Pesquisei um pouco mais e descobri que o erro "wrong ELF class" acontece quando um aplicativo 32bits tenta usar uma livraria 64bits. (Não sou programador, não sei quais os nomes corretos em português, então tento apenas traduzir o que encontro em inglês.) Pelo que vi, era preciso instalar a versão 32bits da livraria libhal1 exigida pelos autenticadores da Safenet.

Instalei a versão 32bits do libhal1. (Isto pode causar algum problema num sistema 64bits?)

Os programas da Safenet funcionaram sem erro, reconhecem o eToken, está tudo às mil maravilhas até este ponto.

Aí fui usá-lo no site do STJ. Ele diz que "Applet ainda não foi carregada corretamente. Aguarde ou tente carregar a página novamente". Recarreguei a página, tentei novamente, e nada. Mesma mensagem.

Tentei no site do TJ-BA. Ele dá a mensagem "nenhum certificado encontrado".

No site da Receita Federal, abre isto aqui: https://cav.receita.fazenda.gov.br/eCAC/publico/Login/Certificado.aspx .

Alguma dica? O que posso estar fazendo errado?

Kriptolix

Manoel, a noticia ruim é que o cara que constroi a aplicaçao na web deve prever multiplataforma, se ele nao preve isso nao vai fucioar no linux, independente de estar funcionando na maquina local. No caso do applet, pode ser incompatibilidade de java, ja no site do STJ acho que realmente o cara nao previu o uso do linux, no site da receita eu nao pude testar.
Ubuntu Linux 10.10

haereticus

Notebook: Samsung 305E4A-BD1 - AMD A6-3420M (Quad Core) @2.4GHz - Radeon™ 6520G 512MB - 8GB - HD 500GB - 14" LED HD - HDMI - Bluetooth - Webcam 1.3 HD - Base CoolerMaster Notepal Ergostand - Mouse X7 Oscar 750bk 3200dpi.

Sony Xperia L - Android 4.1.2

ManoelNascimento

Citação de: haereticus online 20 de Fevereiro de 2013, 17:17
Inclusive fui no site da certisign não há versão para linux :

http://www.certisign.com.br/atendimento-suporte/downloads/tokens#.USUvIDeAVRo

Entrei em contato com eles logo que recebi o eToken. A ouvidoria deles me respondeu muito educadamente -- depois da grosseria da atendente via chat -- dizendo que estão com os drivers para Linux "em fase de testes". Pedi que ao menos o comunicassem na página de drivers para evitar esta confusão, mas não voltei lá para ver se o fizeram.