O meu sistema para emissão de nfe estava funcionando normal, pois estava utilizando apenas cartão do certificado digital, agora meu novo cliente possui token, fiz todas as configurações que juguei necessárias, coloquei a biblioteca ngp11v211.dll no diretório c:/windows/system32/, depois criei o arquivo token.cfg com as seguintes configurações:
name = FeitianPKCS
library = c:/windows/system32/ngp11v211.dll
slot = 1
meu código ficou assim
if (configProvider())
System.out.printf("Library carregada com successo\n\n");
else {
System.out.printf("Erro ao carregar a library\n\n");
return null;
}
System.setProperty("sun.security.ssl.allowUnsafeRenegotiation ", "true");
System.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
System.setProperty("javax.net.ssl.keyStore", "NONE");//Aqui vem o arquivo do certificado do seu cliente
System.setProperty("javax.net.ssl.keyStorePassword", "*******");//Aqui a senha deste certificado
System.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-FeitianPKCS");
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "C:\\SUN\\SDK\\DOMAINS\\DOMAIN1\\CONFIG\\KEYSTORE.JKS");
}....
public static boolean configProvider() {
String configName = "C:\\nfe\\token.cfg";
try {
Provider p = new sun.security.pkcs11.SunPKCS11(configName);
Security.addProvider(p);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
importei os certificados para o keystore.jks do glassfish, instalei os certificados.
segui os mesmos passos para usar o cartão, que dava certo, mas agora retorna o erro: com.sun.xml.ws.client.ClientTransportException: The server sent HTTP status code 403: Forbidden
no Internet Explorer também não funciona quando tento acessar os webservices da SEFAZ. Quem puder me ajudar agradeço desde já!