Certificado NFe

0 respostas
gallo

Boa noite a todos.

Estou tentando já a alguns dias verificar o status do webservice da NFe sem sucesso (ainda estou tentando fazer a NFe 1.10).

Recebi do meu cliente um arquivo de certificado .pfx (somente esse arquivo e a senha) e consegui com ele fazer a assinatura do arquivo, no entanto não consigo me comunicar com o webservice para verificar o status.

Fiz o seguinte.
1 - Importei esse arquivo pfx pra dentro do IE8
2 - Exportei ele como um certificado X.509 codificado base 64 (*.cer)
3 - Gerei o arquivo jks atraves do keytool do java
4 - Utilizei o código abaixo para tentar se comunicar (e muitas outra variantes):

public static void main(String[] args) {  
	     
        //Esse é o layout para o cabeçalho e rodapé para o Status do Serviço conforme o manual de integração explica  
       String nfeCabecMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"  
           + "<cabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe\" "  
           + "versao=\"1.02\">" + "<versaoDados>1.07</versaoDados>"  
           + "</cabecMsg>";  
       String nfeDadosMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"  
           + "<consStatServ " + " versao=\"1.07\""  
           + " xmlns=\"http://www.portalfiscal.inf.br/nfe\">"  
           + "<tpAmb>2</tpAmb>" + "<cUF>35</cUF>"  
           + "<xServ>STATUS</xServ>" + "</consStatServ>";  
       
       
        
       System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");  
       Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());  
 
       System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");  
       System.setProperty("javax.net.ssl.keyStore","C:\\nfe\\certificado.pfx");//Aqui vem o arquivo do certificado do seu cliente  
       System.setProperty("javax.net.ssl.keyStorePassword", "senha_do_certificado");//Aqui a senha deste certificado  
 
       System.setProperty("javax.net.ssl.trustStoreType", "JKS");  
       System.setProperty("javax.net.ssl. ", "C:\\nfe\\serasa\\nfe.ks");//Aqui vem o arquivo criado através do comando keytool no passo 3  
 
        
       // As classes abaixo são as classes geradas atavés do arquivo WSDL no passo 1  
       NfeStatusServico service = new NfeStatusServicoLocator();  
       try {  
           NfeStatusServicoSoap nfeStatus = service.getNfeStatusServicoSoap();  
           System.out.println(nfeStatus.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg));// O retorno deve ser um XML com o status do serviço  
       } catch (Throwable e1) {  
           e1.printStackTrace();  
       }  
   }

Estou recebendo o erro unable to find valid certification path to requested target quando executo essa classe.

Minhas dúvidas
Existe mais algum arquivo enviado pelo sefaz que preciso utilizar e meu cliente não enviou?
O jks que devo gerar é usando como base o certificado de meu cliente exportado?
Ainda é possível usar o ambiente de homologação da NFe 1.10 ou não é mais permitido?

Qualquer ajuda será muito bem vinda.

Obrigado.

Criado 17 de novembro de 2010
Respostas 0
Participantes 1