Estou com problemas com a comunicação com a Receita.. e preciso de ajuda urgente
tudo o que eu fiz até agora foi baseando-me no GUJ, e consegui avançar muito
a geração e assinatura digital do xml CTE eu já consigo fazer
mas estou com grandes problemas aqui na conversa com o WEBSERVICE
System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
Provider p = new sun.security.pkcs11.SunPKCS11(parametros.getProperty("cte.certificado.tokencfg"));
Security.addProvider(p);
System.out.println(p.getName());
KeyStore ks = KeyStore.getInstance("PKCS11");
ks.load(null, parametros.getProperty("cte.certificado.pass").toCharArray());
System.out.println(ks.getType()+" "+parametros.getProperty("cte.certificado.pass"));
System.setProperty("javax.net.ssl.keyStoreType", parametros.getProperty("cte.certificado.tipo"));
System.setProperty("javax.net.ssl.keyStore", "NONE");
System.setProperty("javax.net.ssl.keyStoreProvider", ks.getType());//"SunPKCS11-eToken");// (SmartCard, Safesig,
System.setProperty("javax.net.ssl.keyStorePassword", parametros.getProperty("cte.certificado.pass"));
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", parametros.getProperty("cte.certificado.keystore"));
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
System.out.println(parametros.getProperty("cte.certificado.keystore"));
Essas são as minhas configurações Iniciais
Aqui está o arquivo parâmetros:
#Thu Apr 22 10:29:36 BRT 2010
cte.certificado.pass=*******
cte.certificado.keystore=C:/Users/Bruno/Documents/NetBeansProjects/TesteWebService/jssecacerts
cte.certificado.tipo=PKCS11
cte.certificado.tokencfg=token.cfg
O arquivo token.cfg
name = eToken
library = c:/windows/system32/aetpkss1.dll
quando eu tento enviar o erro que aparece é
java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
Conforme pesquisei eu acho que este problema é em relação ao provider....
pois agora eu coloquei ks.getType em:
System.setProperty("javax.net.ssl.keyStoreProvider", ks.getType());//"SunPKCS11-eToken");// (SmartCard, Safesig,
mas eu já tentei com os outros
e quando eu coloco p.getName() que é o nome do parâmetro que eu carreguei pelo token.cfg
o erro muda para:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Se alguém puder ajudar eu ficarei muito grato!
estou precisando muito passar por este problema
até mais