Não consigo fazer o leitor de Smartcard funcionar

1. Não consigo fazer o leitor de Smartcard funcionar

João Gabriel
goll72

(usa Outra)

Enviado em 22/11/2020 - 23:14h

Eu estou tentando usar o Emissor de NFe 4.0.1 do SEBRAE no Linux (Linux Mint), porém não consigo fazer o leitor de smartcard funcionar, e não sei se é problema no emissor ou nas bibliotecas... (no Windows funciona normalmente, eu já testei). Eu já instalei opensc, libccid, pcscd, pcsc-tools.
O smartcard é detectado, inclusive eu já usei pcsc_scan e pkcs11-tool --test, e ambos funcionam normalmente. Quando eu vou no emissor, porém, ao tentar cadastrar o certificado, o emissor me pede o caminho da biblioteca PKCS#11 que será utilizada para comunicação. Eu usei /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so e variações, como /usr/lib/pcsc/opensc-pkcs11.so, e o emissor até identifica o leitor, porém o nome do certificado fica todo bagunçado e ao tentar inserir o PIN, mesmo sendo o PIN certo, sempre dá erro.

Por favor me ajudem. Eu não sei o que é o problema, a Wiki do Debian mostra que o meu leitor de smartcard (Gemalto GemPC Twin) é compatível com libccid (https://wiki.debian.org/Smartcards#libccid), então não sei porque não está funcionando.

$ pkcs11-tool --test
Using slot 0 with a present token (0x0)
C_SeedRandom() and C_GenerateRandom():
seeding (C_SeedRandom) not supported
seems to be OK
Digests:
all 4 digest functions seem to work
MD5: OK
SHA-1: OK
RIPEMD160: OK
Signature: not a R/W session, skipping signature tests
Verify: not a R/W session, skipping verify tests
Decryption: not a R/W session, skipping decryption tests
No errors



  


2. Re: Não consigo fazer o leitor de Smartcard funcionar

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 22/11/2020 - 23:27h

Se errar o pin mais de 03 vezes bloqueia o certificado. Digite
usb-devices
P vermos como o dispositivo é reconhecido


3. Re: Não consigo fazer o leitor de Smartcard funcionar

João Gabriel
goll72

(usa Outra)

Enviado em 23/11/2020 - 06:56h

$ usb-devices

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 6
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev=05.04
S: Manufacturer=Linux 5.4.0-26-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 12 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=058f ProdID=6387 Rev=01.00
S: Manufacturer=Generic
S: Product=Mass Storage
S: SerialNumber=707CDC62
C: #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I: If#=0x0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 2 Spd=480 MxCh= 4
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=05e3 ProdID=0608 Rev=85.37
S: Product=USB2.0 Hub
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

T: Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#= 7 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=08e6 ProdID=3437 Rev=02.01
S: Manufacturer=Gemalto
S: Product=USB SmartCard Reader
S: SerialNumber=3B1D1885
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=50mA
I: If#=0x0 Alt= 0 #EPs= 3 Cls=0b(scard) Sub=00 Prot=00 Driver=(none)

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 1
D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1
P: Vendor=1d6b ProdID=0003 Rev=05.04
S: Manufacturer=Linux 5.4.0-26-generic xhci-hcd
S: Product=xHCI Host Controller
S: SerialNumber=0000:00:14.0
C: #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
I: If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub

$ pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Gemalto PC Twin Reader (3B1D1885) 00 00

Mon Nov 23 06:44:43 2020
Reader 0: Gemalto PC Twin Reader (3B1D1885) 00 00
Event number: 0
Card state: Card inserted,
ATR: <ID ATRIBUTOS>

ATR: <ID ATRIBUTOS>
+ TS = 3B --> Direct Convention
+ T0 = DD, Y(1): 1101, K: 13 (historical bytes)
TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU
129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s
TC(1) = 00 --> Extra guard time: 0
TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1
-----
TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
+ Historical bytes: <BYTES>
Category indicator byte: 80 (compact TLV data object)
Tag: F, len: 9 (application identifier)
Application identifier: <ID>
Tag: 9, len: 0 (unknown)
Tag: 0, len: 0 (unknown)
+ TCK = FE (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
<ID DO CARTÃO>
Oberthur Cosmo v7 IAS ECC
Brazilian "e-CNPJ" card, issued by Certisign (Oberthur)

Tem alguma forma de testar se o PIN está certo fora do emissor? (talvez algo relacionado com o pkcs11-tool), assim posso saber se o problema está em eu ter usado uma biblioteca errada, ou talvez no próprio emissor.


4. Re: Não consigo fazer o leitor de Smartcard funcionar

João Gabriel
goll72

(usa Outra)

Enviado em 23/11/2020 - 07:09h

Print da tela quando eu tento cadastrar o certificado no emissor:

EDIT: Ah, agora eu entendi. O nome do certificado está sendo convertido entre mais de uma codificação, por isso algumas letras estranhas no meio. Mas mesmo assim, ainda não sei porque o PIN não está funcionando.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts