Guia de Instalação para distribuições Linux em geral
( para uso no Browser Firefox ) 
 
5. Testes
 
 


Como root, execute o daemon pcscd, com a opção -f para que as informações sejam enviadas para a saída padrão.

Certifique-se de ter inserido a leitora em uma porta USB.

Para se ter uma evidência de que a instalação funcionou, aplique:  

$ sudo $INSTALL_DIR/sbin/pcscd -f

<snip>...</snip>

ccid_usb.c:395:OpenUSBByName() Found Vendor/Product: 09BE/0002 (SmartEpad 2)

<snip>...</snip> 

Insirindo um cartão, o resultado normal será receber o ATR do cartão; exemplo: 

Card ATR: 3B B7 94 00 81 31 FE 65 53 50 4B 32 33 90 00 D1  (#1) 

Neste ponto já é possível testar a comunicação entre a biblioteca OpenSC e a pcsc-lite: 

$ $INSTALL_DIR/bin/opensc-tool --atr -v

Connecting to card in reader SmartEpad 00 00...

Using card driver  STARCOS SPK 2.3.  (#1)

Card ATR: 3B B7 94 00 81 31 FE 65 53 50 4B 32 33 90 00 D1 ;....1.eSPK23...  (#1) 

Mesmo que se tenha inserido um cartão que não seja suportada pela biblioteca OpenSC, ainda é possível realizar este teste:  

$ sudo $INSTALL_DIR/sbin/pcscd -f

<snip>...</snip>

Card ATR: 3B B2 11 00 10 80 00 02  (#1)

<snip>...</snip> 

# em outro terminal:

$ $INSTALL_DIR/bin/opensc-tool --atr -v

Connecting to card in reader SmartEpad 00 00...

iso7816.c:98:iso7816_check_sw: Instruction code not supported or invalid

iso7816.c:440:iso7816_select_file: returning with: Unsupported INS byte in APDU

card.c:763:sc_select_file: returning with: Unsupported INS byte in APDU

Using card driver Default driver for unknown cards.

Card ATR: 3B B2 11 00 10 80 00 02 ;.......

iso7816.c:98:iso7816_check_sw: Instruction code not supported or invalid

iso7816.c:440:iso7816_select_file: returning with: Unsupported INS byte in APDU

card.c:763:sc_select_file: returning with: Unsupported INS byte in APDU 
 

Testes no browser Firefox.  

Certifique-se de não haver nenhum processo do browser rodando e então o reinicie:

$ killall firefox-bin     ( cuidado! pois o nome pode ser diferente )

$ firefox & 

Já operando no browser, vá em

Editar/Edit → Preferências/Preferences → Avançado/Advanced , 

Clique em

Dispositivos de Segurança/Security Devices .  

Os passos podem mudar um pouco dependendo da versão do Firefox usada (aqui está sendo usada a 1.5.0.1), mas não deverá ser de grande dificuldade encontrar esta opção.

Deve aparecer a janela da figura (1) abaixo. 
 

Figura 1: Janelas de Dispositivos de Segurança. 

Apesar de não termos experimentado nenhum problema de interferência entre dispositivos, em alguns casos, pode se retirar outros dispositivos para garantir um teste com isolamento.

Continuando: clique em Carregar/Load e adicione o arquivo: /usr/lib/opensc-pkcs11.so e então confirme.

Após algum tempo a janela deve se atualizar para a janela da figura (2) abaixo. 
 

Figura 2: Certificado Digital. 

Neste ponto, observadas estas condições, o sistema está apto a acessar o cartão e os certificados nele armazenados, podendo navegar aos sites que requerem tal certificado. 
 
 
 
5.1 Opcional: Teste dos leds.

O teste acima foi feito com os leds desligados.

Para habilitar as luzes dos leds, você deve antes criar o nó de dispositivo hiddev se ele ainda não existe, assim:  (logado com privilégios de super-usuário)

$ sudo mknod /dev/hiddev0 c 180 $minor_number 

Olhe na secão 2 deste documento para saber como definir o “minor number”. Para a maioria dos casos será: 

$ mknod /dev/hiddev0 c 180 96 

Nota: ao usar “minor number” > 96, incremente também o contador do nó hiddev (#3): 

$ mknod /dev/hiddev1 c 180 97

$ mknod /dev/hiddev2 c 180 98 

E então:  

$ sudo $INSTALL_DIR/sbin/hid_light /dev/hiddev0 

Esta é a mensagem que deve aparecer: 

device: MySMART PAD V2.0. 

Neste ponto, se você inserir um cartão na leitora, espera-se que os leds ascendam.

Quando um cartão funcional é inserido, ambos leds são acesos.

Quando não é possível se comunicar com o cartão, apenas o led ON é acesso. 

(#3) Na verdade o dispositivo que estamos criando com /dev/hiddev0 pode ter qualquer nome e ficar em qualquer lugar; no entanto só estamos cuidando de evitar conflitos e tentar padronizar os nomes.