Login Registre-se
Assinatura XML / NFe - Renascido das Cinzas  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
pescadorj33

JavaC Membro

Membro desde: 13/10/2011 13:47:31
Mensagens: 12
Offline

Amigos...estou fazendo um sistema de NFe e seguindo as dicas do forum...cheguei num ponto que tem diversos posts, soluções, dicas, etc...mudou alguma coisa nesses anos em relação a assinatura do xml? Estou usando o jdk1.8.0_161..tem que fazer algum ajuste pra ele? ja testei diversos metodos assinar diferentes...no momento testei esse que parece ser mais atual..mas mesmo assim nao funciona, sempre o problema gira em tor de el.setIdAttribute("Id", true);

private static void assinarNFe(String tipo, XMLSignatureFactory fac, ArrayList<Transform> transformList, PrivateKey privateKey, KeyInfo ki, Document document, int indexNFe) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, MarshalException, XMLSignatureException{

NodeList elements;
if (tipo.equals(EVENTO)) {
elements = document.getElementsByTagName("infEvento");
} else if(tipo.equals(INFINUT)){
elements = document.getElementsByTagName("infInut");
}else{
elements = document.getElementsByTagName("infNFe");
}

org.w3c.dom.Element el = (org.w3c.dom.Element) elements.item(indexNFe);
String id = el.getAttribute("Id");

el.setIdAttribute("Id", true);

Reference ref = fac.newReference("#" + id, fac.newDigestMethod(DigestMethod.SHA1, null), transformList, null, null);

SignedInfo si = fac.newSignedInfo(fac.newCanonicalizationMethod(CanonicalizationMethod.INCLUSIVE, (C14NMethodParameterSpec) null), fac.newSignatureMethod(SignatureMethod.RSA_SHA1, null),
Collections.singletonList(ref));

XMLSignature signature = fac.newXMLSignature(si, ki);

DOMSignContext dsc = null ;

if (tipo.equals(INFINUT)) {
dsc = new DOMSignContext(privateKey, document.getFirstChild());
}else{
dsc = new DOMSignContext(privateKey, document.getDocumentElement().getElementsByTagName(tipo).item(indexNFe));
}

dsc.setBaseURI("ok");

signature.sign(dsc);
}


Rodrigo

Rodrigo Pescador
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1254
Localização: Goiás
Offline

Rodrigo, por que não usar algo já pronto?

https://github.com/Samuel-Oliveira/Java_NFe

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
pescadorj33

JavaC Membro

Membro desde: 13/10/2011 13:47:31
Mensagens: 12
Offline

Oi amigo...sim, concordo contigo...justamente estou usando é seu material...devo ter feito besteira entao...mas estou usando seu projeto....

Rodrigo Pescador
pescadorj33

JavaC Membro

Membro desde: 13/10/2011 13:47:31
Mensagens: 12
Offline

Se eu baixar esse fonte sem alterar nadinha ja vai rodar?

Rodrigo Pescador
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1254
Localização: Goiás
Offline

Amigo não é o FOnte. é uma API.
Você deve adicioanr a lib a o projeto e executar os metodos!

Aqui tem a Wiki que explica 100% https://github.com/Samuel-Oliveira/Java_NFe/wiki

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
pescadorj33

JavaC Membro

Membro desde: 13/10/2011 13:47:31
Mensagens: 12
Offline

Entendi...foi a maneira de dizer "baixar o fonte"...eu estou usando a api sim...veja os anexos...


No momento esta dando o seguinte erro ao passar por el.setIdAttribute("Id", true);

ex = (org.w3c.dom.DOMException) org.w3c.dom.DOMException: NOT_FOUND_ERR: Houve uma tentativa de fazer referência a um nó em um contexto no qual ele não existe.


Mas pelo que entendi do seu comentario, nao precisaria de eu nem estar vendo esses codigos...bastaria usar a api direto? puxa...eu segui um post inicial seu e instruia como implementar nfe e depois realmente eu vi outro post falando da api...acho que confundi !?

Rodrigo
[Thumb - fig1.png]
 Nome do arquivo fig1.png [Disk] Download
 Descrição
 Tamanho 132 Kbytes
 Baixado:  12 vez(es)

[Thumb - fig2.png]
 Nome do arquivo fig2.png [Disk] Download
 Descrição
 Tamanho 40 Kbytes
 Baixado:  10 vez(es)


Rodrigo Pescador
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1254
Localização: Goiás
Offline

Mande o Fonte de como esta gerando a nota por favor.

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
pescadorj33

JavaC Membro

Membro desde: 13/10/2011 13:47:31
Mensagens: 12
Offline

Posso mandar no seu email?

Rodrigo Pescador
pescadorj33

JavaC Membro

Membro desde: 13/10/2011 13:47:31
Mensagens: 12
Offline

Mandei o link para baixar no seu email...

Rodrigo Pescador
alexandrade20@gmail.com

JavaC Membro
[Avatar]

Membro desde: 18/08/2015 09:56:15
Mensagens: 98
Offline

manda o xml por aqui que verificamos.
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team