Problemas Assinador Java NF-e : SignatureValue e x509Certificate

8 respostas
M

Estou Rodando uma aplicação ( um Assinador em Java).

Preciso de uma ajuda, consigo assinar o XML, mas quando transmito o xml para a receita, vem esta rejeição.

Percebi que no SignatureValue e no X509Certificate estão diferentes de um XML assinado normalmente.

por exemplo:

Xml Errado: Aparece em duas linhas ou mais:

<SignatureValue>QXoKsX0bDB7VJtbhbw8zXjaOg56SCmfinRZe26CRyDuk33HXNEG36vjRpj5SXQ76gS2sUiiKsZjk v50w/Ebbxeg7J/BGoKXq/8HlWy/cMR6A+13bbTKvQfD1/cSv3cILVLAz/Cfea7EKxw9eX2QwCvjl rik/ytYu+RHeTsi2WFM=</SignatureValue>

<X509Certificate>MIIGEDCCBPigAwIBAgIIaV/U85fpcVAwDQYJKoZIhvcNAQEFBQAwaDELMAkGA1UEBhMCQlIxEzAR BgNVBAoTCklDUC1CcmFzaWwxLDAqBgNVBAsTI1NlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFs IC0gU1JGMRYwFAYDVQQDEw1BQyBTRVJBU0EgU1JGMB4XDTA4MTAwMzE4MDAwMFoXDTA5MTAwMzE4 MDAwMFowggFKMQswCQYDVQQGEwJCUjELMAkGA1UECBMCU1AxEDAOBgNVBAcTB0FUSUJBSUExEzAR BgNVBAoTCklDUC1CcmFzaWwxLDAqBgNVBAsTI1NlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFs IC0gU1JGMRMwEQYDVQQLEwpTUkYgZS1DTlBKMRQwEgYDVQQLEwsoRU0gQlJBTkNPKTEUMBIGA1UE CxMLKEVNIEJSQU5DTykxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNP KTEUMBIGA1UECxMLKEVNIEJSQU5DTykxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwso RU0gQlJBTkNPKTEqMCgGA1UEAxMhSFVGIERPIEJSQVNJTCBMVERBOjAxOTQxNTk3MDAwMTMxMIGf MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClYrImB7uDl4U7x54j+HXx7ZE8Igw+I7d82i0uEIJX GL8Lrqc+7bTkHKXNuHKLrBnIKr1kCB7e8uCwwHnl9uenPUcbr31zIvF6MI09p52fsWlVAEw7yBSm NC3KfckRWYVaWJqb5bUMktS1o8uqWsphNRmSCaQ23bOvRbuLR5K4uwIDAQABo4ICXDCCAlgwCQYD VR0TBAIwADAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMB8G A1UdIwQYMBaAFLcyqiA9/1rttKzSpxhVioyAKJUEMIGsBgNVHREEgaQwgaGBEEhBTExFQEhVRi5D T00uQlKgOwYFYEwBAwSgMhMwMTUwMjE5NDYzNzk1ODc3MTgwMDAwMDAwMDAwMDAwMDAwMDAwMFc2 MjEwNzZNRFBGoBwGBWBMAQMCoBMTEUhFSU5aSlVSR0VOIEhBTExFoBkGBWBMAQMDoBATDjAxOTQx NTk3MDAwMTMxoBcGBWBMAQMHoA4TDDAwMDAwMDAwMDAwMDBXBgNVHSAEUDBOMEwGBmBMAQIBDTBC MEAGCCsGAQUFBwIBFjRodHRwOi8vd3d3LmNlcnRpZmljYWRvZGlnaXRhbC5jb20uYnIvcmVwb3Np dG9yaW8vZHBjMFMGA1UdHwRMMEowSKBGoESGQmh0dHA6Ly93d3cuY2VydGlmaWNhZG9kaWdpdGFs LmNvbS5ici9yZXBvc2l0b3Jpby9sY3IvU2VyYXNhU1JGLmNybDCBnQYIKwYBBQUHAQEEgZAwgY0w PwYIKwYBBQUHMAGGM2h0dHA6Ly9vY3NwLmNlcnRpZmljYWRvZGlnaXRhbC5jb20uYnIvQUNfU2Vy YXNhX1NSRjBKBggrBgEFBQcwAoY+aHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJy L2NhZGVpYXMvU2VyYXNhU1JGMjAwNS5wN2IwDQYJKoZIhvcNAQEFBQADggEBAGlpBVPjhg2xZnVs TcQ9sRpOs8IhNbbV8TJLtp5l+KHfAlEROfyUTrTbYmeRHGB+VtGmJKjr8svUuTlJRvsFS4zq/I30 BlzEVypA6jbIG/Lxg2tT78QgfTt/rqlpuruj3H8vBbFuBT0TPbYpSyWuB4xyDM3z0+yJqg7ydiuy rTSHKAYXc3EvLzfCNmIhAAkDKdiA/rtpBorKJhEdsw6XvOlE27oRra1BHNeBefcfGMZJ/tWora/T jB94mASjtGZAEdaVAdeUC72J3/LcFnEfoqmAfoY5wLxtZXBVxkhsx3tkToYJ5/7ZW1rmRxlgNGD9 rnb+2SEfSS5VE0jLRMYClOk=</X509Certificate>

Xml correto: Aparece em uma linha só

<SignatureValue>QXoKsX0bDB7VJtbhbxeg7J/BGoKXq/8HlWy/cMR6A+13bbTKvQfD1/cSv3cILVLAz/Cfea7EKxw9eX2QwCvjl rik/ytYu+RHeTsi2WFM…=</SignatureValue>

<X509Certificate>MIIGEDGZAEdaVAdeUC72J3/LcFnEfoqmAfoY5wLxtZXBVxkhsx3tkToYJ5/7ZW1rmRxlgNGD9 rnb+2SEfSS5VE0jLRMYClOk=…</X509Certificate>

Como posso resolver isto? Acredito que o problema esteja no JAVA.

Preciso de uma ajuda?

Agradeço desde de já

8 Respostas

M

Ola Marcio !
Se possivel post um XML e o metodo de assinatura do XML tambem. É bem provavel que seja caracteres especiais ou name spaces.

[ ]s,

M

Ok Mateus

o assinador é este:

P

Opa…

Cara… to com um problema ao executar o arquivo AssXML…

Da erro de ProviderException na linha:

Transform envelopedTransform = fac.newTransform(Transform.ENVELOPED,tps);

E o erro:

java.security.ProviderException: SunPKCS11 requires configuration file argument

Até onde sei… o PKCS11 é para uso de Token;

Alguem teria um exmeplo de como configurar o arquivo para o Provider ?

Vlw

Z

Cara, comigo também gera a assinatura em bloco e funciona normalmente

P

Opa… resolvi… achei neste posto um exmeplo do arquivo cfg
http://www.guj.com.br/posts/list/15/110442.java

Bom… agora que tenho o token. Estou com problemas para assinar o XML… o que fez pensar se esta certo a forma como uso o A1… ^^

Vou testar mais um pouco e procurar por mais exemplos de como assinar… quando finalizar o método posto ai…

vlw

T

então mas pq está dando erro?

M

Ae galera,

Algum santo de voces conseguiu assinar usando Token ou SmartCard?

F

Amigos do forum,

Eu sou programador em ambiente Mac Os X (amador).

Tenho rotinas escritas onde controlo há anos em minha pequena empresa a emissão de notas fiscais, recebimentos e etc…

Com o surgimento da nota fiscal eletrônica, portei uma rotina que gera um arquivo em texto. (.txt) que uso na importação para o programa gratuito da Sefaz-SP, emissor gratuito de NFe.

Gostaria de melhorar minhas próprias rotinas para assinar e transmitir o .xml da NFe.

Creio que o primeiro passo seria assinar o XML.

Procuro ajuda, e estou de acordo em pagar por sua ajuda.

Alguém neste fórum poderia me ajudar escrevendo ou adaptando sua linha de código existente, para mim?

Pensei em ter um comando de terminal, que posso invocar de dentro de meu programa existente, que assinasse o arquivo de texto que sou capaz de gerar, mas não sou capaz de assinar.

Ou mesmo gravar numa pasta por exemplo: “Notas Fiscais por Assinar”, e uma rotina automática assinasse o xml e automáticamente gravasse cópia dele em outra pasta “Notas Fiscais Assinadas”.

Creio que não deve ser difícil para alguém que já tem suas rotinas prontas.

Aguardo contato,

Obrigado,

Bernardo Höhl

Usina Brasileira de Cristobalita Ltda
http://www.rutenium.com.br

Meu celular: 21-99775490

meu endereço de email é:

fundidor + arroba + mac.com

Criado 23 de março de 2009
Ultima resposta 4 de jul. de 2010
Respostas 8
Participantes 7