Conteúdo / Configurações para uso de SmartCards ou Tokens no Linux

*Configurações para uso de smartcards/tokens no Linux

Informações iniciais e pré-requisitos

O acesso aos certificados digitais armazenados em dispositivos smartcard e token é feito através da interface PKCS#11, utilizando o provider Sun PKCS#11. Por isso é necessária a instalação prévia da máquina virtual da Sun Microsystems (J2SE) versão 6.0 ou superior. Maiores informações sobre este provider podem ser encontradas no sítio da Sun Microsystems (http://download.oracle.com/javase/6/docs/technotes/guides/security/p11guide.html).

Passo 1 - Instalar o software do smartcard/token

Para que o Sped possa usar os certificados armazenados no smartcard/token, é necessário instalar seu driver, bem como a biblioteca que implementa a interface PKCS#11.

A maioria dos smartcards/tokens testados também exige como pré-requisito a instalação do middleware PCSC-lite. Maiores informações podem ser encontradas no sítio do projeto: http://pcsclite.alioth.debian.org/

A seguir, deve ser instalado o driver específico do smartcard/token. Este software é geralmente fornecido pelo fabricante.

Finalmente, é preciso instalar a(s) biblioteca(s) de implementação da interface PKCS#11 do smartcard/token. Este software também é geralmente fornecido pelo fabricante.

O projeto OpenSC inclui uma implementação genérica da interface PKCS#11, que funciona para vários modelos de smartcard/token. Maiores informações podem ser encontradas no sítio do projeto: http://www.opensc-project.org/

Observação: para maiores detalhes sobre a instalação de modelos específicos de smartcard/token, é recomendável estudar a documentação fornecida com o produto ou disponível no sítio do fabricante.

Passo 2 - Selecionar o diretório de configurações do Sped

O diretório de configuração do Sped é "/home/usuario/sped".

Passo 3 - Criar um arquivo de configuração PKCS#11

Para que o provider possa ter acesso aos certificados, é preciso criar um arquivo com a extensão ".cfg" no diretório de configuração do Sped.

O arquivo de configuração deve definir duas variáveis:

Exemplo: Para o token eToken PRO USB da Aladdin, o arquivo de configuração poderia ter as duas linhas:

name=Aladdin_eTokenPRO/USB
library=/usr/lib/libetpkcs11.so

Observação: o conteúdo da variável name não pode conter espaços.

Passo 4 - Adicionar o diretório da biblioteca PKCS#11 ao PATH

Para que o Sped possa usar os certificados armazenados no smartcard/token, pode ser necessário que o diretório contendo a biblioteca PKCS#11 do dispositivo seja adicionado à variável de ambiente "LD_LIBRARY_PATH", dependendo do modelo do smartcard/token e da configuração de seu sistema operacional.

Observação: alguns smartcards/tokens instalam a biblioteca PKCS#11 no diretório /usr/lib. Neste caso, não é necessário modificar a variável "LD_LIBRARY_PATH".