Skip to content


Cartão do Cidadão e Ubuntu 10.04 (Lucid Lynx) – Parte 1

O Cartão do Cidadão permite a assinatura digital e acesso autenticado a vários serviços online, em particular do Portal do Cidadão e Portal da Empresa (mudança de morada, criação de empresas, etc). Para essa utilização, é necessário ter:

  • Um cartão do cidadão com a assinatura digital activada.
  • Um leitor de cartão do cidadão (recomendo os vendidos nos pontos de entrega do cartão do cidadão por menos de €20).
  • Um computador com acesso à Internet (e, para os efeitos deste artigo, com Ubuntu 10.04 a 32 bits).
  • Os códigos pin do cartão.

Seguem as instruções para quem quiser instalar o software do Cartão do Cidadão no Ubuntu 10.04. Resumindo os passos são:

  1. Transferir para o seu computador o software do Cartão do Cidadão.
  2. Descomprimir o ficheiro.
  3. Instalar o software.
  4. Instalar os pacotes extra necessários.

Nota Importante: o software do Cartão do Cidadão só funciona em versões de 32 bits do sistema operativo.

Transferir para o seu computador o software do Cartão do Cidadão

Ir ao sítio web do Cartão do Cidadão, secção de software e transferir a versão para Ubuntu: http://www.cartaodecidadao.pt/index.php?option=com_content&task=view&id=102&Itemid=44&lang=pt (eu usei a versão 1.22 para Ubuntu 9.10).

Descomprimir o ficheiro

Abrir o ficheiro com o gestor de arquivos (basta fazer duplo-clique) e carregar em Extrair. Deve encontrar o ficheiro na sua Área de Trabalho, que pode ser acedida por Locais -> Área de Trabalho. Depois de carregar em Extrair terá uma nova pasta chamada Cartao_de_Cidadao.

Instalar o software

Abra uma consola: Aplicações -> Acessórios -> Consola. Escreva os seguintes comandos, carregando na tecla Enter no fim:

cd "~/Área de Trabalho/Cartao_de_Cidadao/"
sudo ./install.sh

Aceite os termos da licença de utilização, escrevendo sim.

Nota: Ao contrário da Bélgica e da Estónia, Portugal decidiu restringir a utilização do Cartão do Cidadão ao distribuir o software de forma restrita e proprietária. Se discorda, faça chegar a sua opinião à AMA – Agência para a Modernização Administrativa.

Instalar os pacotes extra necessários

Para o programa fundionar pode precisar de mais alguns pacotes. Execute o seguinte comando:

sudo apt-get install pcscd libpcsclite1 libccid

Nesta altura deve poder lançar o programa do cartão do cidadão. Ligue o leitor do cartão ao computador, ponha o cartão do cidadão no leitor e execute:

pteidgui

Neste programa poderá ver a informação disponível no cartão do cidadão e testar os pins de acesso.

Posted in Sociedade, ubuntu, Uncategorized.

Tagged with .


13 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Joaquim Machado says

    Também funciona com os teclados Cherry com leitor de cartões modelo RS 6600 USB

  2. Jaime Pereira says

    Obrigado João.
    Finalmente consegui associar o meu CC no Portal do Cidadão graças à tua ajuda e ao Ubuntu.
    Fica mais uma vez provado que não necessários gastos astronómicos para que estas coisas funcionem bem e com simplicidade.
    No “Lindows da Micro-Cócó” e no OSx do “Mac the knife” foi escusado continuar a tentar…
    Quanto à ajudas que recebi do portal do cidadão, qualquer dia mostro-tas para te divertires.
    Good job!

  3. Artur Martins says

    E se eu tiver apenas ubuntu 64 bits instalado?

  4. mestrejoao says

    Ou:

    usas uma máquina virtual com 32 bits;

    reclamas com a Agência de Modernização Administrativa em http://www.ama.pt

    usas o opensc (versão de desenvolvimento) com suporte para o cartão do cidadão.

    Nenhuma das soluções é ideal, eu sei.

  5. Miguel Pereira says

    Olá tudo bem?
    Faço como descreves (Unbutu 10.04 32 Bits) mas dá-me sempre a mensagem “bash: cd: ~/Área de Trabalho/Cartao_de_Cidadao/: Ficheiro ou directoria inexistente”
    Quer em consola normal quer em consola de root. Mesmo pondo noutras directorias…
    Sugestões?
    Obrigado

  6. João Batista says

    Os sistemas de 64 bits podem instalar bibliotecas de 32 bits compiladas para o efeito. Por exemplo num Ubuntu podem fazer
    apt-get install ia32-libs lib32gcc1 libc6-i386
    para instalar algumas das bibliotecas básicas. Mas isto não resolve completamente o problema. Se estiverem a usar o pcsc-lite (64 bits obviamente), a primeira biblioteca que “empata” o sistema é a libpcsclite.so.1 a qual existe no pacote libpcsclite1 … de 64 bits. Portanto, o primeiro obstáculo é disponibilizar esta biblioteca em 32 bits. Felizmente temos as sources… basta fazer apt-get source libpcsclite1 (desde que o repositório de sources da vossa distribuição esteja disponível).

    O que eu fiz para conseguir que o GUI da aplicação arrancasse foi
    1) apt-get source libpcsclite1
    2) Ir ao directório descomprimido
    3) Fazer debuild -us -uc (precisam de ter o pacote devscripts instalado previamente).
    4) Ir ao subdirectório sources e fazer make clean
    5) Fazer make > mymake.sh
    6) Editar o mymake.sh e onde estiver “gcc” substituir por “gcc -m32” para dizer ao compilador para compilar com as bibliotecas de 32 bits.
    Isto dá para “enganar” o programa MAS SÓ NO ARRANQUE. Ou seja, quando for ler o cartão temos problemas outra vez… suponho que isto se deva ao daemon pcscd que deve correr no sistema ainda estar a trabalhar em 64 bits, e daí fica uma grande barafunda (aparece uma mensagem de erro na aplicação relacionada com um erro de inconsistência). Foi até aqui que consegui chegar, nada mais. TENHAM CUIDADO para não substituir o “verdadeiro” libpcsclite.so, ponham o ficheiro de “testes” noutro directório (a conseguir lá chegar com um LD_LIBRARY_PATH para testar, por exemplo).

    Outra coisa é que o pcscd, por defeito, tenta ir ver leitores de cartões na porta série. Quem tiver um leitor USB, **TEM** que editar e comentar todos os scripts no directório /etc/reader.conf.d (isto é, cada linha deve começar com o símbolo cardinal #) e depois fazer sudo update-reader.conf (e fazer sudo service pcscd restart para ter a certeza), senão o daemon pcscd vai sempre tentar procurar um leitor numa porta série! Por fim, um sudo pcsc_scan para se certificarem que está tudo OK.

    Espero que isto ajude outros aventureiros a chegar mais à frente. Valha-nos o source code…

  7. João Batista says

    Ah, outra coisa. Lembrem-se que para saber onde e quais as bibliotecas estão a ser lidas por um programa ou biblioteca shared library, podem fazer ldd ficheiro ou ldd libminhalib.so por exemplo. Se o ldd descobrir que se está a carregar uma biblioteca de 32 bits (indo por exemplo a /lib32 ou a /usr/lib32, versus ir ao normal em /lib ou /usr/lib ou /usr/lib64) então estão no bom caminho.

    Um problema que eu ainda não sei como resolver é o caso das bibliotecas disponibilizadas num pacote de Java (blech!), nomeadamente o pteidlibj.jar, o qual eu desconfio que foi preparado num ambiente de 32 bits, e também no Sun Java em vez do OpenJDK que vem por defeito em algumas das distribuições mais recentes (Ubuntu 10.04). Pela minha experiência, isso também não é perdoado — admito tem que configurar o sistema para usar o Sun Java em vez do OpenJDK.

    Conclusão: Em vez de um sistema Plug-And-Pray como temos no Micromole Janelas, temos um sistema Plug-And-Hack…

  8. xp says

    esta-me aparecer isto sempre que tenho que fazer a autenticação :

    Para se autenticar com o Cartão de Cidadão é necessário que aceite o fornecimento dos atributos pedidos através do Fornecedor de Autenticação.

    algum pode ajudar ?
    obrigado

  9. DPR says

    Descobri uma forma. Tenho o Ubuntu Maverick 64bits instalado.

    Fui a este site à procura da versão 32 bits da package libpcsclite1

    http://packages.ubuntu.com/maverick/libpcsclite1

    Se o vossa versão for outra, basta mudar “maverick” no link para outra versão
    Depois, ao escolherem o link “i386”, vão para uma página com um link para fazer o download “security.ubuntu.com/ubuntu”, que para o maverick é:

    http://security.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.5.5-3ubuntu2.1_i386.deb

    De seguida basta extrair manualmente a package e copiar a lib para /usr/lib32/

    $ dpkg-deb -x libpcsclite1_1.5.5-3ubuntu2.1_i386.deb .
    $ sudo cp lib/* /usr/lib32/

  10. Tiago Neiva says

    Andei aqui à volta do cartão do cidadão e isto está muito estranho.
    Numa máquina com o Ubuntu 11.04, funciona, dei muita marretada até acertar.

    Noutra instalada de raiz, com as dependências todas (até fiz um .deb para dar ao pessoal amigo), a aplicação funciona, no firefox consigo ler os certificados, mas quando vou à página das finanças não funciona.
    O mais estranho é que fui ao registo automóvel que faz o redireccionamento de maneira diferente funciona!

  11. Miguel Almeida says

    No meu Ubuntu Maverick 64 bits tem sido uma aventura.

    Depois de várias tentativas, a última foi a que me levou mais longe:

    1) Usei o método do DPR para resolver um problema com os libs
    2) instalei a aplicação

    Consigo ver os meus dados no cartão. Mas através do firefox não consigo ter sucesso. Na página https://www.portaldaempresa.pt/cve/Login.aspx, o redireccionamento é feito para a autenticação, mas invariavelmente “ocorreu um erro”.

    De notar que só consegui adicionar o certificado no firefox na versão 8 – na versão 3.6 diz-me “could nota dd module”.

  12. Miguel Almeida says

    Num follow up:

    É necessário, além de adicionar o módulo, adicionar um certificado, conforme descrito em http://www.portaldocidadao.pt/PORTAL/pt/informacao+geral/FAQ/Servi%C3%A7os+Online+com+Cart%C3%A3o+de+Cidad%C3%A3o/FAQ_utilizo+o++browser++firefox+e+nao+consigo+efectuar+a+associacao+no+portal+do+cidadao++o+que+devo.htm

    É pena a informação estar espalhada por uma série de sítios…

  13. Gerardo Lisboa says

    ubuntu 11.10 64b (3.0.0-16-generic #29-Ubuntu SMP Tue Feb 14 12:48:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux)

    após https://www.portaldocidadao.pt/ccsoftware/cartaodecidadao-ubuntu-1.23.1-589.x86_64.deb

    sudo apt-get install libcrypt-ssleay-perl pcsc-tools libpcsc-perl libssl0.9.8
    sudo wget http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt –output-document=/usr/share/pcsc/smartcard_list.txt
    sudo /bin/chgrp pcscd /dev/bus/usb/002/015
    sudo /etc/init.d/pcscd start

    notas:
    pcsc_scan detectou versão desatualizada do smartcard-list (não reconhecia cartão PT)
    lsusb detectou cartão em
    Bus 002 Device 015: ID 04e6:5116 SCM Microsystems, Inc. SCR331-LC1 / SCR3310 SmartCard Reader



Some HTML is OK

or, reply to this post via trackback.