Alguém teria um exemplo do código para geração do XML?
Algum colega de MG neste forum?
Se sim, por favor, me mande uma mensagem privada.
Grato
Alencar
cara, você pode usar um framework p/ gerar o xml há vários, como o xstream, normalmente voce modela seu xml em um beam, e o frame gera o xml, ajuda bastante
abraço
estou usando o código do gilmaslima, (muito obrigado por ter postado, ajudou d+)
com algumas alteraçoes para a nota de BH/MG. O xml tem algumas diferenças mínimas como:
ao invés de infNFe é InfNfse
e o param id é todo em minúsculo.
bem, peguei o alias usando o keytool e rodei o codigo, ok gerou o assinado.xml
porém comparando com a nota de exemplo pela sec. faz. faltou um parâmetro em uma tag no xml
na assinatura gerada ficou assim a tag: <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
e no arq exemplo assim: <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="NfseAssSMF_999999990001911733160024200900000000017">
onde esse num é o id da nota
ainda nao consegui testar se a assinatura vai ser validada, mas já adiantando
alguem tem idéia de como adicionar esse Id na nota?
esta parte da assinatura (Id=“NfseAssSMF_999999990001911733160024200900000000017”)
é a URI do xml que vai ser assinado.
Caso vc nao informe a URI, o assinador assina todo o arquivo, o que nao é o caso da NFe.
nota = doc.getDocumentElement().getElementsByTagName("NFe").getLength() > 0;
if (nota) {
NodeList elements = doc.getElementsByTagName("infNFe");
Element el = (Element) elements.item(0);
URI = "#" + el.getAttribute("Id");
}
....
// cria uma referencia ao envelope e define o algoritmo SHA1
Reference ref = fac.newReference(URI, fac.newDigestMethod(
DigestMethod.SHA1, null), transforms, null, null);
Alencar
Quanto a essa parte estou usando a URI sim,
da mesma forma que o código que citei tb usa.
Minha dúvida era quanto a diferença entre o XML de exemplo do municipio e o que eu gerei na assinatura.
Só eu que acho, ou tem mais gente que acha que a nfe é muito mal documentada?
por ex: agora estou estudando como assinar os RPS de BH (que por sinal, novamente difere do padrão proposto)
e não vejo claro onde identificar a URI para assinar o lote de RPS, nesse caso o SHA1 seria então do documento inteiro?
[quote=andredurao]Só eu que acho, ou tem mais gente que acha que a nfe é muito mal documentada?
por ex: agora estou estudando como assinar os RPS de BH (que por sinal, novamente difere do padrão proposto) [/quote]
Realmente tem diferenças, estou com alguns problemas em relação a isso também, mais especificamente no cancelamento
Quando envio o web service retorna a seguinte mensagem de erro: “Arquivo enviado com erro na assinatura.”
Alguém sabe o que é ??
Senhores, estou tentando assinar a NFe e estou tendo problemas.
Para efeito de testes, peguei o xml gerado e assinei pelo assinador disponivel no site da receita.
A assinatura é feita corretamente.
Só que quando tento validar a NFe o validador joga a seguinte mensagem:
Erro na Cadeia de certificação. ‘CN=Autoridade Certificadora Raiz Brasileira v1, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR’, emitido por ‘CN=Autoridade Certificadora Raiz Brasileira v1, OU=Instituto Nacional de Tecnologia da Informacao - ITI, O=ICP-Brasil, C=BR’, serial number ‘01’ - ERRO: 32 - Descrição do Erro: Unknown error.
alguém tem alguma sugestão?
Da a entender que o seu certificado não é valido
ou nao é raiz ICP.
Alencar
Pessoal.
Segui esse tutorial do proprio guj (http://www.guj.com.br/article.show.logic?id=141)
E consegui fazer a assinatura digital do XML.
A grande questão é: o servidor não tem JAVA 6.
Tem alguma solução para esse caso (usando o JAVA 5)??
Abraços
Bom dia pessoal,
Estou desenvolvendo um sistema para envio da NFe para Paraná. O sistema esta pronto, assinando e comunicando com o WebService. Mas não estou conseguindo meu xml com o sistema Visualizador que foi fornecido pela receita, as estrutura do meu xml esta com as tags e , tirando essas tags não estou conseguindo validar o xml no WebService do Paraná. Alguém pode me ajudar com isso ?
Preciso saber com fica a estrutura inicial desse xml. Inclusive eu usei uma classe de assinatura daqui do fórum mesmo.
[quote=acmedis]Bom dia pessoal,
Estou desenvolvendo um sistema para envio da NFe para Paraná. O sistema esta pronto, assinando e comunicando com o WebService. Mas não estou conseguindo meu xml com o sistema Visualizador que foi fornecido pela receita, as estrutura do meu xml esta com as tags e , tirando essas tags não estou conseguindo validar o xml no WebService do Paraná. Alguém pode me ajudar com isso ?
Preciso saber com fica a estrutura inicial desse xml. Inclusive eu usei uma classe de assinatura daqui do fórum mesmo.
[/quote]
posta seu xml para melhor ajudar você
conforme solicitado pelo alexborges, segue o xml assinado que esta sendo enviado para webservice do Paraná.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>- 41 388548900 VENDA DE MERCADORIAS 1 55 2 290 2009-10-21 2009-10-22 1 4113700 1 1 6 2 1 0 3
- 99999999999 S G teste LTDA S G teste
- AV DEZ DE DEZEMBRO 1342 G 2 S/N Complemento CENTRO 4113700 LONDRINA PR 86026220 1058 BRASIL 9999999999 999999999
- 99999999999999 MOVEIS LTDA
- RUA SANTO S/N Complemento DISTRITO INDUSTRIAL 3522901 ITAPUI SP 17230000 1058 BRASIL 9999999999 999999999999
- 123 PERFIL CABIDEIRO SG5006 883MM 6102 UN 1.0000 10.0000 10.00 UN 1.0000 10.0000
- 0 00 3 10.00 12.00 1.20
- 04
- 04
- 10.00 1.20 0.00 0.00 10.00 0.00 0 0.00 0 0.00 0.00 0.00 0.00 10.00
- 1
- 99999999999999 VIACAO GARCIA 9999999999 AV CELSO 1100 LONDRINA PR
- AAA1111 PR
- 1
- z+w316xzZIoP4PatwNmBa14+wGg= ZRH0Ezm2hvVe+wW3VdrUYmM8TB2CU9ALAW+AwuiR2SmnNhtzZjgqrz+JTXFG4I5f5nCQUxWO1JeN uG2kAyl/pc6aFj7C+X25q5hvlCCG9SQvDjuWmBi30SXh/PHcZ+LUenrJd884uu06Drwr/onFYzmE w5ySs2BR+A9k3Epr7ZE=
- MIIGQDCCBSigAwIBAgIITkKXDYjr6CgwDQYJKoZIhvcNAQEFBQAwTDELMAkGA1UEBhMCQlIxEzAR BgNVBAoTCklDUC1CcmFzaWwxKDAmBgNVBAMTH1NFUkFTQSBDZXJ0aWZpY2Fkb3JhIERpZ2l0YWwg djEwHhcNMDkwODEzMjEwMDAwWhcNMTAwODEzMjEwMDAwWjCB/DELMAkGA1UEBhMCQlIxEzARBgNV BAoTCklDUC1CcmFzaWwxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRgwFgYDVQQLEw8wMDAwMDEwMDA2 MzI2MjIxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNPKTEUMBIGA1UE CxMLKEVNIEJSQU5DTykxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNP KTE6MDgGA1UEAxMxSU5EVVNUUklBIENPTUVSQ0lPIEUgUkVQUkVTRU5UQUNPRVMgR0lCSU0gTFRE QSBNRTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApnPkoSC3t/A7B9KkLB59yPRgO38e43CR 8KxcaDWwDMISclXCseO4uo1vWCI7C57vKbQhw9rsnFranP+u93C+8qIcMHWCAIhm67YDJRpMoFBP qNm4DDLIOH5JQbabDnQaYP6tzJqPAhc8p9YBtzObFfOIWl98E8IzwmpafhAItWMCAwEAAaOCAvcw ggLzMA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwHwYDVR0j BBgwFoAUt2CoW/mypq4A7XTr1UrJlmhm9VwwgboGA1UdEQSBsjCBr4EZQ0FSTE9TQFNHQUxVTUlO SU9TLkNPTS5CUqA9BgVgTAEDBKA0EzIwNDExMTk3ODAyMzA3NTMyOTk0MDAwMDAwMDAwMDAwMDAw MDUuODUyLjUzODNTU1BQUqAfBgVgTAEDAqAWExRDQVJMT1MgRURVQVJETyBTT1VaQaAZBgVgTAED A6AQEw44MDkwNTY2NDAwMDEzOaAXBgVgTAEDB6AOEwwwMDAwMDAwMDAwMDAwVwYDVR0gBFAwTjBM BgZgTAECAQYwQjBABggrBgEFBQcCARY0aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29t LmJyL3JlcG9zaXRvcmlvL2RwYzCB8AYDVR0fBIHoMIHlMEmgR6BFhkNodHRwOi8vd3d3LmNlcnRp ZmljYWRvZGlnaXRhbC5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL3NlcmFzYWNkdjEuY3JsMEOgQaA/ hj1odHRwOi8vbGNyLmNlcnRpZmljYWRvcy5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL3NlcmFzYWNk djEuY3JsMFOgUaBPhk1odHRwOi8vcmVwb3NpdG9yaW8uaWNwYnJhc2lsLmdvdi5ici9sY3IvU2Vy YXNhL3JlcG9zaXRvcmlvL2xjci9zZXJhc2FjZHYxLmNybDCBlwYIKwYBBQUHAQEEgYowgYcwPAYI KwYBBQUHMAGGMGh0dHA6Ly9vY3NwLmNlcnRpZmljYWRvZGlnaXRhbC5jb20uYnIvc2VyYXNhY2R2 MTBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL2NhZGVp YXMvc2VyYXNhY2R2MS5wN2IwDQYJKoZIhvcNAQEFBQADggEBAD/JqxgwPOjItKlivZy0AgXNVqbQ HyEhfB39dKMHsm4pPwE+BKJXHU8l1xcc/CYFJ8yfGSYbFGs6ixbyS8Bpeeg4x0wftTg5zEZ/fHDP zXh1C7lQea7IMzO1AcwmTUtGzHlgsNkfm7OjthsDLj4GD2DfF2Z+eIExPiIi72mVczYztSWXTGXg vQhTOu4g2dQcNl5qbzLo4tdGCnrNv6DJnswP09FRGcjC8Ao38YMQYw3HpGgVl53V8Qmmqvh1LKx4 y80jEL2/HNA3r/XCx22cmaMM32o1+eHDN8jEYaJbBsswurhxLLqziiBCiQGLUVHFuCAF47vk7PzY Q9HzkWyN+Xs=
quando envio o xml, retorna o erro 225 - Falha no schema xml.
Porém consigo abrir ele normalmente pelo Visualizador NFeCTe 4.0 fornecido pela receita. E também consigo fazer a validação da estrutura e assinatura através de um programa AssinadorRS fornecido pelo sefaz do RS.
só dei uma olhada por cima pq estou saindo do escritorio agora mas da uma olhada no name space da tag “infNFe” seu não me engano não pode ter aquilo ali não…XD
também tentei dessa forma na tag infNFe:
mas retorna o mesmo erro 225.
[quote=acmedis]também tentei dessa forma na tag infNFe:
mas retorna o mesmo erro 225. [/quote]
acmedis joguei seu xml no validador da sefaz do RS e os seguintes problemas foram encontrados no shema
The ‘xmlnssi’ attribute is not declared. //AQUI ESTÁ SE REFERINDO AO NAMESPACE NA TAG “infNFe” VC TEM Q REMOVER ELE
The ‘http://www.portalfiscal.inf.br/nfe:dEmi’ element has an invalid value according to its data type. //SUA DATA ESTA FORMATADA ERRADA “2009 10 21” ONDE DEVERIA SER 2009-10-21 “yyyy-MM-dd”
The ‘http://www.portalfiscal.inf.br/nfe:dSaiEnt’ element has an invalid value according to its data type.//SUA DATA ESTA FORMATADA ERRADA “2009 10 22” ONDE DEVERIA SER 2009-10-22 “yyyy-MM-dd”
The ‘http://www.portalfiscal.inf.br/nfe:CNPJ’ element has an invalid value according to its data type.//O CNPJ ESTÁ COM 11 DIGITOS ONDE DEVERIAM CONTER 14
The value of the ‘Algorithm’ attribute does not equal its fixed value.//O ATRIBUTO “Algorithm” DA ASSINATURA ESTA ERRADO http://www.w3.org/2000/09/xmldsig#rsa sha1 ONDE DEVERIA SER http://www.w3.org/2000/09/xmldsig#rsa-sha1 NOTE Q NO SEU ESTÁ COM UM ESPAÇO EM BRANCO…
da uma revisada nisso, depois posta aqui se conseguiu solucionar seu problema
Sobre o ambiente de homologação,
-Eu posso usar o certificado da empresa que está desenvolvendo o sistema?
-Onde encontro a chave pública do sefaz virtual?
O erro esta relacionado com a validade da Assinatura.
[list]O arquivo XML foi assinado e a assinatura contém o HASH (DIGEST) do conteudo do arquivo.[/list]
[list]Se por algum motivo o conteudo do arquivo for alterado, será necessário gerar um novo HASH.[/list]
Sobre assinatura digital: http://www.infowester.com/assincertdigital.php
boa tarde a todos, estou com o seguinte problema : preciso inserir no XML que será enviado as informações ref. ao protocolo de autorização e fazer a assinatura digital da nota. Porem quando mando fazer a assinatura fica da sequinte forma o xml :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>-
… { tag’s da NFe}
- 2 v3706 41100280337553000173550030000005056447753010 2010-02-10T15:29:54 141100000384752 CqvBBuqGUyBd2VBXqALlQISVtX8= 100 Autorizado o uso de NF-e
- ZOQL7z8psu4IFcCeh9IIzVwCFU8= HK5IxwbfneFTbIwAwO/X+gtb0aQqE/IHuxmtyB/d9oybQivp0Et4tHgqubezIziGgXb8F4Tq2Igr zttLT52o9eu2ap2g3rHkzjnEbXouhW3KOuiaAkAjmsntbQEe6htFWBOn4NsjdCf1619AWlAQ//oV XtQPLnFirLYj0v8sGfRRkXRhxBStuJYe2B3X2ppVRqUdDYHbA267Se/mHniR1QYs/p+za+9Rjn5c zm6RasNbji4L2tjtxFbqnLSpOunVseJ36IEFpcRK2Nm0xBB7qybsJgLAXeRAi8x+PGr5HTEQCOOg V10IaAQxSuIH79S0fn22aOs3ZXkjZ2kPz6wEiA==
- MIIGiTCCBXGgAwIBAgIQMjAwOTA4MjAxMjM1MDQwMjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE BhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0 YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEuMCwGA1UEAxMlQXV0b3JpZGFkZSBDZXJ0aWZpY2Fk b3JhIGRvIFNFUlBST1JGQjAeFw0wOTA4MjAxODM0NDVaFw0xMDA4MjAxODE1MjVaMIH4MQswCQYD VQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE2MDQGA1UECxMtU2VjcmV0YXJpYSBkYSBSZWNl aXRhIEZlZGVyYWwgZG8gQnJhc2lsIC0gUkZCMREwDwYDVQQLEwhDT1JSRUlPUzETMBEGA1UECxMK QVJDT1JSRUlPUzEWMBQGA1UECxMNUkZCIGUtQ05QSiBBMTERMA8GA1UEBxMIQ2FzY2F2ZWwxCzAJ BgNVBAgTAlBSMTwwOgYDVQQDEzNJTkRVU1RSSUEgREUgUExBU1RJQ09TIENBU0NBVkVMIExUREE6 ODAzMzc1NTMwMDAxNzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRvzotG/1J6uvG gn58iRV/Z6HYMlcgIRVN3T6+8czokkoH1bOYRszU8MstRal1S5d5Qf6yb2viuA2WeDKUrqVkUpvi 9IsFkvfKFTbzrfn3B8SW97gILuNrcWT20DBxS+h6tgjqtmyfrwjRh/pfsOeWC5xpq+MLM+OPWZFl dAUURB1Zhr8xAoYt3obUxZ4qnfZInYtypZld6D22AncNlxGG8Tl6RQk6Qt1BEo3CHR2m0G5mNMRW H4xcVY4DPqdggfhUDlwiiIWUi44M5kGRn3oWuEt+qbPtZPSlLqi1oScNAx20M28khLbDctTUw18X gYIGczIWhQeEp3pw3Ge8NDw/AgMBAAGjggJ5MIICdTAPBgNVHRMBAf8EBTADAQEAMB8GA1UdIwQY MBaAFLkii4YkRueirecpO4xoO02tdJEUMA4GA1UdDwEB/wQEAwIF4DBgBgNVHSAEWTBXMFUGBmBM AQIBCjBLMEkGCCsGAQUFBwIBFj1odHRwczovL2NjZC5zZXJwcm8uZ292LmJyL2Fjc2VycHJvcmZi L2RvY3MvZHBjYWNzZXJwcm9yZmIucGRmMIGzBgNVHREEgaswgaigPQYFYEwBAwSgNAQyMjgxMDE5 NDUwMTYwNTc4MDk0NDAwMDAwMDAwMDAwMDAwMDAwMDA2NDA5ODczU1NQUFKgGwYFYEwBAwKgEgQQ RG9taW5nb3MgU2FsdmF0aaAZBgVgTAEDA6AQBA44MDMzNzU1MzAwMDE3M6AXBgVgTAEDB6AOBAww MDAwMDAwMDAwMDCBFmFuZHJlQHBsYXN0aXZlbC5jb20uYnIwIAYDVR0lAQH/BBYwFAYIKwYBBQUH AwIGCCsGAQUFBwMEMIGoBgNVHR8EgaAwgZ0wMqAwoC6GLGh0dHA6Ly9jY2Quc2VycHJvLmdvdi5i ci9sY3IvYWNzZXJwcm9yZmIuY3JsMDOgMaAvhi1odHRwOi8vY2NkMi5zZXJwcm8uZ292LmJyL2xj ci9hY3NlcnByb3JmYi5jcmwwMqAwoC6GLGh0dHA6Ly93d3cuaXRpLmdvdi5ici9zZXJwcm8vYWNz ZXJwcm9yZmIuY3JsMEwGCCsGAQUFBwEBBEAwPjA8BggrBgEFBQcwAoYwaHR0cDovL2NjZC5zZXJw cm8uZ292LmJyL2NhZGVpYXMvYWNzZXJwcm9yZmIucDdiMA0GCSqGSIb3DQEBBQUAA4IBAQAYwG7a 8xneLZE1MEhIRDJe2vqvc62A8G/LgL+YzeowJOfqnsTgL2OBsK9R+7Ajq4Wu6vK4/TcYE/IpLyij b6fxheTKgLxIjhbvT5ZJBbeXy6qn+JzEJv7TQiD2sX6DiS0zexfIdgH1J7EOUfRbj/dTDscT3aYk shhFfSdK4Flehz/xErWwovBxxj/S7MuG8Q62YT7cdb+exUXhKv7M25ZXD1M0Hv78Cf/xfyJ+aquN rux8jls49z3T7RGkUlrmgd4Qdy1ipZ+MpNfTUHvPRRoXIW/kyCS0h9Yikbz9JlS/795Z2TSmA+hE yeNmHX608GY7IDJfHfv9ximuxkn2NjnE
A assinatura digital deveria ficar logo abaixo da tag ?
Utilizei a classe que o " gilmaslima " postou.
Você deve gerar ou ler o xml da NFe já assinada e concatenar com as outras partes do
xml de distribuição.
Uma dica: armazene o xml assinado que você enviou no arquivo de lote.
Pode ser que ao regerar o xml da mesma nota e assinar este novo arquivo, o
digestValue fique diferente. Neste caso, o segundo xml não terá validade fiscal.
Alencar