Olá Pessoal.
Resumo:
Estou desenvolvendo Nfe 1.10 (estado de SP), aonde faço todas as operações de acordo com o manual do portal da NFe da Fazenda, obtive sucesso
com o A1 (Arquivo) e A3 (Cartão), a dificuldade é o A3 (TOKEN USB), estou a 7 dias tentando encontrar uma solução, busquei informações sobre o erro
em todas fontes possíveis como GOOGLE, GUJ, ARTIGOS, Contato com Receita Federal de SP (Telefone e Email), Contato com o fornecedor do TOKEN (instalação de software), Tentei mudar os JARs auxiliares e entre outros (mudar o código para avançar para outro erro), mas não obtive sucesso, agora estou postando a problema para compartilhar com a Família GUJ.
Acredito que o erro possa ser a DLL (não tenho certeza), pela descrição do erro não é encontrado a DLL.
ERRO Ocorrido: [size=18][color=red]java.security.KeyStoreException: PKCS11 not found[[/color]/size]
A configuração que utilizo no meu arquivo token.cfg é:
/*********************************************/
name=SBX
library=c:/windows/system32/dkck201.dll
/*********************************************/
OBS: Apesar de eu ter alterado as barras para //, , e \ (loucura) e mesmo assim o erro persiste.
Abaixo vou explicar o que estou utilizando.
Projeto: NFe 1.10.
S.O.: Windows Vista Basic.
Navegador: Internet Explorer 7.0.
Ferramenta para desenvolvimento: Eclipse Helios.
JDK: 1.6 (versão 6, atualização 22, compilação 1.6.0_22-b04).
Hardware para Assinatura NFe: SafeNet iKey 2032 (Token A3).
DLL Utilizada no token: dkck201.dll
Utilitários (JAR): axis.JAR / commons-discovery-0.2.JAR / commons-logging-1.0.4.JAR /
javax.wsdl_1.5.1.v200806030408.JAR / javax.wsdl_1.6.2.v201005080631.JAR / jaxrpc.JAR /
log4j-1.2.8.JAR / org.apache.commons.logging_1.0.4.v200904062259.JAR / saaj.JAR.
Reforçando: Funciona perfeitamente a NFe 1.10 com Certificado A1 (Arquivo) e SmartCard A3 (Cartão).
Para conhecimento em qual linha ocorre erro no meu projeto (No momento da assinatura da NFe):
201 {// Nome do Método (Assinar)
…
220 Provider p = new SunPKCS11(parametros.getProperty(“nfe.certificado.token”));
221 Security.addProvider§;
222 ks = KeyStore.getInstance(“PKCS11”); //nesta linha que ocorre o erro
…
255 }
Caso eu consiga resolver o problema, posto a solução aqui para conhecimento de todos.
Desde já, agradeço.
Obrigado você que perdeu seu tempo para ler este problema, para aqueles que não souberem da onde pode vir a falha e tenha alguma outra dúvida relacionada a NFe e precisar de uma força, posta ai e tento ajuda-lo.
“Um por todos e todos por Um” =D!