| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2011 16:40:04
|
kuesley
JavaBaby
Membro desde: 14/03/2005 00:16:00
Mensagens: 89
Localização: Brasilia / DF
Offline
|
Pessoal,
Como não sou membro com "moral" para colocar tópico na seção de tutoriais, vou deixar por enquanto aqui,
se alguém quiser, podem mover pra lá.
A ideia aqui é ajuda e ser ajudado.
Até este ponto já está 100% funcionando, então vou postar um passo a passo (bem mastigado) pra quem tiver enfrentando problemas.
Espero que alguma alma possa contribuir com este roteiro também.
Escopo deste tutorial:
- instalação dos certificados
- criação do repositório de chaves (keystore)
- consulta do web service NfeStatusServico2
Arquivos/Classes que fazem parte deste tutorial:
Arquivo 1) Arquivo com o certificado digital do ambiente de homologação da Sefaz Virtual:
https://homologacao.nfe.sefaz.rs.gov.br/Certificado_AC_NFE.SEFAZ.RS.p7b
Arquivo 2) PFX2JKSProgram.java - classe que importa as chaves para dentro do repositório de chaves (keystore)
Bom vamos lá:
Instalação do certificado da sefaz:
Abra o IE (Internet Explorer) -> Ferramentas -> Opções de Internet -> Conteúdo -> Certificados
Importar e escolha o arquivo que você baixou do site da SEFAZ (Arquivo 1)
** Por padrão será armazenado na aba "Outras Pessoas" (pelo menos no meu aqui )
Exportação dos certificados:
Agora vamos exportar os certificados, inclusive de toda a cadeia.
Vai na aba Outras Pessoas e exporte os três certificados (escolha X.509 codificado na base 64(*.cer)):
"Autoridade Certificadora do SERPRO Final v2" para um arquivo em c:\certificados\nf1.cer
"Autoridade Certificadora Raiz Brasileira v1" para um arquivo em c:\certificados\nf2.cer
"Autoridade Certificadora SERPRO v2" para um arquivo em c:\certificados\nf3.cer
Criação do nosso keystore:
Saia para o prompt do MS-DOS (para os antigos) ou Prompt de Comando para os novatos:
keytool -genkey -alias nfe -keyalg RSA -keypass 123456 -storepass 123456 -keystore c:/certificados/nfe.jks -dname "cn=NOMEDASUAEMPRESA, ou=Desenvolvimento, o=EMPRESA, l=Cidade, S=DF, c=BR" -validity 365
Agora importar os certificados para dentro do seu keystore:
Ainda no prompt de comando:
keytool -importcert -alias nfe1 -keystore c:/certificados/nfe.jks -file c:/certificados/nf1.cer -storepass 123456
keytool -importcert -alias nfe2 -keystore c:/certificados/nfe.jks -file c:/certificados/nf2.cer -storepass 123456
keytool -importcert -alias nfe3 -keystore c:/certificados/nfe.jks -file c:/certificados/nf3.cer -storepass 123456
Agora os certificados estão instalados.
Agora vamos importar os certificados/chaves que estão dentro do seu arquivo A1 (.PFX) para dentro do seu
keystore:
Para isso basta executar a classe PFX2JKSProgram.java que está anexo neste tutorial.
Antes de executar a classe, abra o arquivo e altere algumas informações, pois dentro desta classe,
no método main, voce terá que informar os dados do seu certificado, como por exemplo:
Considerando que seu arquivo PFX chama-se JUREMA.PFX e está em c:\certificados
altere as variaveis:
certificadoPFX = "c:\certificados\JUREMA.PFX"
passwordPFX = "123456"
Após rodar esta classe, seu keystore estará com todas as informações pra rodar seu primeiro webservice (NfeStatusServico2)
Testando o webservice:
Agora basta rodar a classe NfeStatusServico2Soap e sair para o abraço, o resultado deverá ser:
Note que no final do XML de retorno, tem uma MSG "Servico em Operacao", isso significa que deu certo e que o serviço está em operação
Bom,
Espero logo postar mais novidades.
Agora vou para o NfeRecepcao2
| Nome do arquivo |
NfeStatusServico2Soap.java |
Download
|
| Descrição |
Classe de teste do webservice |
| Tamanho |
4 Kbytes
|
| Baixado: |
145 vez(es) |
| Nome do arquivo |
PFX2JKSProgram.java |
Download
|
| Descrição |
Arquivo que importa as chaves/certificados para o keystore |
| Tamanho |
2 Kbytes
|
| Baixado: |
135 vez(es) |
| Nome do arquivo |
Certificado_AC_NFE.SEFAZ.RS.p7b |
Download
|
| Descrição |
Arquivo com certificados da SEFAZ VIRTUAL (homologação) |
| Tamanho |
3 Kbytes
|
| Baixado: |
72 vez(es) |
This message was edited 2 times. Last update was at 03/03/2011 16:42:57
|
Curioso... |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/03/2011 16:46:11
|
Polverini
Virtual Machine Man
![[Avatar]](/images/avatar/9e70346d681ac30b01a566a7dabece16.jpg)
Membro desde: 26/05/2009 15:57:49
Mensagens: 707
Offline
|
mto bom, gostei da ideia
|
Antes de postar consulte seu amigo GOOGLE é de graça !
Estudante de Sistemas de Informação Unifil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2011 13:41:21
|
dudu_sps
Java Ninja
![[Avatar]](/images/avatar/32a9fa4ec285117cdee178a5b7b7bd7b.jpg)
Membro desde: 22/09/2009 17:58:18
Mensagens: 279
Offline
|
o que mudaria se no lugar do certificado A1 , fosse um A3 Token??
|
É Facil, depois de feito!
A dificuldade está nas Pessoas! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2011 14:35:30
|
valkkefast
Entusiasta Java
Membro desde: 21/01/2011 09:47:38
Mensagens: 19
Offline
|
Cara o meu da esse erro aqui:
Message enviada
com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl@201f9
java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
08/06/2011 15:53:37 com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
SEVERE: SAAJ0009: Message send failed
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/06/2011 17:18:32
|
kuesley
JavaBaby
Membro desde: 14/03/2005 00:16:00
Mensagens: 89
Localização: Brasilia / DF
Offline
|
valkkefast wrote:Cara o meu da esse erro aqui:
Message enviada
com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl@201f9
java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
08/06/2011 15:53:37 com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
SEVERE: SAAJ0009: Message send failed
Essas msgs da nfe são muito boas né?!
Eu já tive isso ai com o cabeçalho do meu xml errado!
Me matei pra descobrir isso quase 2 dias.
|
Curioso... |
|
|
 |
|
|