domingo, 10 de novembro de 2019

Cartão de Cidadão em Linux

 

Atenção: Está disponível uma nova versão mais atualizada aqui.


Após diversas tentativas foi possível colocar o leitor de cartões do cartão de cidadão a funcionar em Debian GNU/Linux - buster 64bits.


1. Descarregar plugin do site: https://autenticacao.gov.pt/fa/ajuda/autenticacaogovpt.aspx

É possível descarregar o plugin para Debian/Ubuntu e fazer a sua instalação manual:
dpkg -i plugin-autenticacao-gov.deb

Um dos problemas estava em arrancar o plugin utilizando o OpenBox... Acedendo ao conteúdo do .deb é possível obter o ficheiro .desktop que contém a informação de arranque:
[Desktop Entry]
Version=1.0
Name=plugin Autenticação.Gov
GenericName=plugin Autenticação.Gov
GenericName[pt]=plugin Autenticação.Gov
Comment=Autenticação com o Cartão de Cidadão
Exec=/usr/bin/java -Dsun.java2d.xrender=false -jar /usr/share/plugin-autenticacao-gov/plugin-autenticacao-gov.jar sj
Icon=plugin-autenticacao-gov
Terminal=false
Type=Application
Categories=Utility


Assim, resta arrancar o plugin:
/usr/bin/java -Dsun.java2d.xrender=false -jar /usr/share/plugin-autenticacao-gov/plugin-autenticacao-gov.jar sj

O ícone aparece na barra de tarefas do tint2 e a opção Diagnosticar Plugin abre uma página indecifrável com uma impossibilidade qualquer relativa ao DNS e a um *.mordomo...

Alguma pesquisa e um comentário no PPLware indica a razão da questão:
«N'uno 7 de Dezembro de 2017 às 13:21
Continuas a depender de uma aplicação que faz o mesmo que as applets java faziam mas usa uma comunicação com o browser incompatível com alguns routers. No meu caso, num ambiente linux ligado a um router com DD-WRT, esta aplicação batia sempre na impossibilidade de resolver nomes para o IP do localhost. O serviço de DNS do DD-WRT não permite tal coisa, logo não funcionava. Contactei o suporte deles e a solução foi mesmo martelar os múltiplos nomes que eles usam com o 127.0.0.1 no ficheiro de hosts…»


Assim, deve editar-se o /etc/hosts para conter:
127.0.0.1 m1.mordomo.gov.pt
127.0.0.1 m2.mordomo.gov.pt
127.0.0.1 m3.mordomo.gov.pt
127.0.0.1 m4.mordomo.gov.pt
127.0.0.1 m5.mordomo.gov.pt
127.0.0.1 m6.mordomo.gov.pt
127.0.0.1 m7.mordomo.gov.pt
127.0.0.1 m8.mordomo.gov.pt
127.0.0.1 m9.mordomo.gov.pt
127.0.0.1 m10.mordomo.gov.pt
127.0.0.1 m11.mordomo.gov.pt
127.0.0.1 m12.mordomo.gov.pt
127.0.0.1 m13.mordomo.gov.pt
127.0.0.1 m14.mordomo.gov.pt
127.0.0.1 m15.mordomo.gov.pt
127.0.0.1 m16.mordomo.gov.pt
127.0.0.1 m17.mordomo.gov.pt
127.0.0.1 m18.mordomo.gov.pt
127.0.0.1 m19.mordomo.gov.pt
127.0.0.1 m20.mordomo.gov.pt


Ao que parece o leitor de cartões anuncia-se como webserver com um domínio *.mordomo.gov.pt e o router não permite essa alteração.

Situação resolvida, é possível utilizar o cartão de cidadão com o leitor para realizar as operações, correu tudo bem com o Opera, resta testar com outros browsers.


4 comentários:

  1. 1 ano e meio depois deste artigo ter sido escrito, deparei-me com o problema de resolução dos domínios *.mordomo.gov.pt. Parece que ainda não foi resolvido na aplicação.

    Adicionar os aliases no /etc/hosts resolveu o problema. Obrigado pela dica!

    ResponderEliminar
  2. Obrigado pela dica!

    Foi o que me safou igualmente, foi editar os hosts da minha máquina...

    ResponderEliminar
  3. Como é que o domínio *.mordomo.gov.pt resolve para o localhost sem ser necessário alterar o ficheiro de hosts?

    ResponderEliminar
    Respostas
    1. Acabei de acrescentar um novo artigo onde se evita a utilização do ficheiro /etc/hosts através de uma configuração do dnsmasq num router com DD-WRT.

      https://librehacks.blogspot.com/2024/05/cartao-de-cidadao-em-linux-2024.html

      Eliminar