1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Mistério dos 4 cartões A3 com CKR_DEVICE_ERROR no load do Keystore, preciso uma luz!

Discussion in 'Technology' started by Tchananan, Oct 8, 2018.

  1. Tchananan

    Tchananan Guest

    estou lidando com um mistério em um cliente na autenticação de Webservice com um cartão A3 da Serasa, ele sempre dá o seguinte erro quando tento dar o load no Keystore:

    sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR

    java.io.IOException: load failed at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:766) at java.security.KeyStore.load(Unknown Source) at br.com.innersolutions.nfe.innernfewscli.InnerNFeWSCli4.nfeStatusServi co(InnerNFeWSCli4.java:750) at telas.TelaNfe$8.run(TelaNfe.java:544) Caused by: javax.security.auth.login.LoginException at sun.security.pkcs11.SunPKCS11.login(SunPKCS11.java:1238) at sun.security.pkcs11.P11KeyStore.login(P11KeyStore.java:864) at sun.security.pkcs11.P11KeyStore.engineLoad(P11KeyStore.java:753) ... 3 more Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_DEVICE_ERROR at sun.security.pkcs11.wrapper.PKCS11.C_Login(Native Method) at sun.security.pkcs11.SunPKCS11.login(SunPKCS11.java:1222) ... 5 more

    Quando tento usar o aplicativo testador de certificados da Serasa, ele fecha sem dar nenhum erro, já no meu código Java ele dá esse erro. Esse programa já roda em outro cliente, com o mesmo certificado A3 do Serasa, autentica normalmente.

    O mistério vem de que quando acionamos o suporte da Serasa, eles "identificam" que o cartão está corrompido, e iniciam o processo de troca, só que essa troca já foi feita 4 vezes! 4 cartões com o mesmo problema???

    Já tentamos usar o cartão usando outro leitor, já tentamos usar o mesmo em outro computador, e o erro é sempre o mesmo.

    Um pouco de código:

    Provider p = new sun.security.pkcs11.SunPKCS11("C:/Inner/NFe/Certificados/SmartCard.cfg"); Security.addProvider(p); try { KeyStore ks = KeyStore.getInstance("PKCS11"); ks.load(null, senhaDoCertificado.toCharArray()); <-------------ERRO AQUI } catch (IOException e) { e.printStackTrace(); throw new Exception("Senha do Certificado Digital esta incorreta ou Certificado inválido."); } catch (KeyStoreException e) { JOptionPane.showMessageDialog(null, "Verifique se o certficado A3 está corretamente conectado á porta USB do computador"); }

    O arquivo SmartCard.cfg

    name=SmartCard library=C:/Windows/System32/aetpkss1.dll

    Informações adicionais Keystore após getInstance do PKCS11:

    SunPKCS11-SmartCard using library C:/Windows/System32/aetpkss1.dll

    Informações do Assistente Serasa:

    Assistente do CD Serasa Experian | Versão 3.6.1.3 Windows 7 64 bits Service Pack 1 IE 11.0.9600.19129 SafeSign 64-bits 3.0.87 Jair Padrão Modelo do Cartão plugado na máquina do usuário - GD BURTI SCE 3.1 32k Status do serviço de cartão inteligente iniciado automaticamente - Executando Status da Configuração do ActiveX – Executada

    Alguém tem alguma ideia do que pode estar acontecendo?

    Login To add answer/comment
     

Share This Page