Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Frizão detonando o Inter!
Por fabio
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Utilizando certificados e-CNPJ e e-CPF no Linux
Linux user
D3v1L
01/05/2005
A Receita Federal lançou no ano passado um certificado para pessoas físicas e pessoas jurídicas, respectivamente o e-CPF e o e-CNPJ, munido destes certificados podemos realizar junto ao site da receita diversos serviços disponíveis mediante autenticação. Vou neste artigo detalhar os procedimentos desde a instalação do SmartCard Reader até a configuração do Mozilla para acessar estes certificados.
Por: Bruno Cesar Brito SantAnna
[ Hits: 79104 ]
Conceito: 9.8   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Introdução

A Receita Federal lançou no Brasil dois certificados o e-CNPJ e o e-CPF, com estes certificados podemos acessar áreas restritas do site da Receita entre outros serviços, logo logo a receita vai tornar esses certificados obrigatórios (no caso do e-CNPJ já é obrigatório para entregar a DCTF mensal). Maiores informações sobre estes certificados podem ser encontradas em:
Um dos clientes de nossa empresa precisava realizar alguns serviços na receita, tínhamos certa urgência, então optamos para a aquisição de um certificado e-CNPJ, aqui vai uma nota importante, os leitores de smartcard fornecidos pela Serasa (modelo Argos Mini II) não funcionaram, já fiz os testes mas não obtive sucesso, o leitor de SmartCard da CertiSign (modelo GemPC Twin) funcionou perfeitamente, só fiz os testes com esses dois modelos, portanto recomendo o GemPC Twin .

Vamos ao problema; grande parte das estações da empresa são Linux e os drivers fornecidos eram para Windows, ou seja, toda vez que eu tinha que realizar o serviço tinha que ir em uma estação Windows, sentar nesta mesa e iniciar os procedimentos, isto não tem cabimento =/

Resolvi pesquisar sobre como fazer estes cartões serem aceitos no Linux, desisti algumas vezes, mas nas minhas horas de almoço tentava pesquisar, a falta de documentação na internet e a falta de treinamento do suporte das agências certificadoras não me ajudou muito. Portanto tive que pesquisar na marra =), felizmente triunfei e vou colocar estes procedimentos neste artigo detalhando ao máximo.

Com o smartcard e a leitora em mãos, vamos começar os preparativos. Vou listar abaixo o hardware utilizado:
  • Smartcard Reader USB GemPC Twin
  • Laptop c/ Debian Sid


Nota: Eu utilizei desta vez os pacotes Debian para a instalação da leitora, mas nada impede de serem utilizados em outras distribuições, pois vou colocar os sites onde podem ser encontrados os fontes para compilação.

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por shocker em 03/05/2005 - 13:20h:

Muito interessante.
Parabéns.

[]'s
Alan Cota.

[2] Comentário enviado por agk em 04/05/2005 - 10:27h:

Bastante interessante, acredito que o e-cnpj e o e-CPF se tornem um padrão futuramente.
Parabéns, ótimo artigo.

[3] Comentário enviado por jragomes em 06/05/2005 - 22:20h:

era exatamente disso que eu precisava!!! SHOW DE BOLA
Parabéns!!

[4] Comentário enviado por alexander.lopes em 04/01/2006 - 12:43h:

Me ajudou bastante seu artigo. Só gostaria de acrescentar aqui que tive problemas com o pacote pcsc-lite-1.2.0 citado no artigo (Linux Gentoo). Com a versão 1.2.9 (beta) funcionou bem.

[5] Comentário enviado por mrafa em 12/03/2009 - 18:26h:

Parece que não funciona no intrepid. Ele reconhece a leitora, mas não aceita o cartão

pkcs15-tool --list-certificates
Error: can't open /var/run/openct/status: No such file or directory
Error: can't open /var/run/openct/status: No such file or directory
Error: can't open /var/run/openct/status: No such file or directory
Error: can't open /var/run/openct/status: No such file or directory
Error: can't open /var/run/openct/status: No such file or directory
[pkcs15-tool] pkcs15.c:532:sc_pkcs15_bind_internal: unable to enumerate apps: Wrong length
[pkcs15-tool] pkcs15.c:761:sc_pkcs15_bind: returning with: Unsupported card

pcsc_scan

PC/SC device scanner
V 1.4.14 (c) 2001-2008, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.4.99
Scanning present readers
0: Gemplus GemPC Twin 00 00
Thu Mar 12 18:24:03 2009
Reader 0: Gemplus GemPC Twin 00 00
Card state: Card inserted,
ATR: 3B 7A 94 00 00 80 65 A2 01 01 01 3D 72 D6 43
ATR: 3B 7A 94 00 00 80 65 A2 01 01 01 3D 72 D6 43
+ TS = 3B --> Direct Convention
+ T0 = 7A, Y(1): 0111, K: 10 (historical bytes)
TA(1) = 94 --> Fi=512, Di=8, 64 cycles/ETU (55800 bits/s at 3.57 MHz)
TB(1) = 00 --> VPP is not electrically connected
TC(1) = 00 --> Extra guard time: 0
+ Historical bytes: 80 65 A2 01 01 01 3D 72 D6 43
Category indicator byte: 80 (compact TLV data object)
Tag: 6, len: 5 (pre-issuing data)
Data: A2 01 01 01 3D
Tag: 7, len: 2 (card capabilities)
Selection methods: D6
- DF selection by full DF name
- DF selection by partial DF name
- DF selection by file identifier
- Short EF identifier supported
- Record number supported
Data coding byte: 43
- Behaviour of write functions: write OR
- Value 'FF' for the first byte of BER-TLV tag fields: invalid
- Data unit in quartets: 8

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 7A 94 00 00 80 65 A2 01 01 01 3D 72 D6 43
Gemplus GemXpresso Pro R3 E32 PK





[6] Comentário enviado por klause em 11/12/2009 - 13:00h:

Também tive problema de Unsupported card:

pkcs15-tool --list-certificates
Using reader with a card: Teo by Xiring 00 00
[pkcs15-tool] pkcs15.c:532:sc_pkcs15_bind_internal: unable to enumerate apps: Incorrect parameters in APDU
[pkcs15-tool] pkcs15.c:794:sc_pkcs15_bind: returning with: Unsupported card
PKCS#15 initialization failed: Unsupported card

Alguém tem a solução?

[7] Comentário enviado por josir em 28/01/2010 - 20:21h:

Olá pessoal, tentei certificar o e-cpf no Ubuntu 9.04 mas não deu certo. Os passos são bem menos que esse:

sudo apt-get install libccid opensc libopensc1 libopensc-openssl

Para ver se ele está listando os certificados:

pkcs15-tool --list-certificates

No Firefox 3.5, eu fui nos certificados e inclui o path: /usr/lib/opensc/opensc-pkcs11.so

Ele reconheceu a leitora e fez a importação corretamente. Mas quando entro no e-cac, ele não encontra o certificado.
Tem algum jeito de fazer um debug para ver onde está o erro e porque o site não encontra o certificado?

[8] Comentário enviado por byjg em 14/03/2010 - 14:34h:

Primeiramente, parabéns pelo artigo.

Instalei na versão anterior do Ubuntu e funcionava perfeitamente. Entretanto na versão karmic alguns relatados aqui. Consegui resolve-los.

Ao Rodar:
pkcs15-tool --list-certificates

Erro 1:
Error: can't open /var/run/openct/status: No such file or directory

Resolução
# sudo chmod a+r -R /var/run/openct/
# sudo chmod a+x -R /var/run/openct/

Erro 2:
[opensc-explorer] reader-pcsc.c:1015:pcsc_detect_readers: returning with: No readers found
Card not present.

Resolução
Abrir o arquivo /etc/opensc/opensc.conf

e acrescentar (ou corrigir) a linha:
provider_library = /lib/libpcsclite.so.1

Na versão Karmic mudou para "/lib".

Pronto, vc poderá rodar "pkcs15-tool --list-certificates" e irá funcionar perfeitamente!



[9] Comentário enviado por byjg em 14/03/2010 - 14:40h:

No Ubuntu Karmic, existem pequenas diferenças...

No Firefox (em portugues) acesse:
"Editar -> Preferencias"
Em seguida "Avançado" e na Aba "Chaves" (ou Cifra) e clicar no botão "Dispositivos de Segurança"

O caminho no Karmic é:
/usr/lib/opensc-pkcs11.so

[10] Comentário enviado por murilodb em 26/04/2010 - 13:50h:

Pessoal,

Para funcionar no Karmic, além do comentado pelo byjg tive que adicionar a linha abaixo (na realidade, descomentar e tirar os outros parâmetros) no arquivo /etc/opensc/opensc.conf:

reader_drivers = pcsc;


[11] Comentário enviado por guimfonseca em 19/11/2010 - 12:01h:

Na hora de abrir o certificado o mesmo pede a senha do cartão, Depois de digitado corretamente a senha ele pede pra digitar novamente alguma ideia?

[12] Comentário enviado por HER GNU/Linux em 21/01/2011 - 13:33h:

Salve, Bruno!

Gostei muito do artigo. Parabéns.

Hermes


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.