Página 1 de 3

El sello del comprobante es Inválido

Publicado: Vie Ago 10, 2012 9:28 am
por kakaroto_69
Hola que tal amigos de foro,

Estoy desarrollando una aplicacion en vb.net de facturacion electronica. El problema que tengo es la validacion del sello,me manda el mensaje de sello invalido en el validador del SAT y en el Validacfd.

Este es el proceso que realizo

1.-Genero el xml con los datos capturados en un winform.
2.-Genero la cadena original con el archivo cadenaoriginal_2_2.xslt que proporciona el SAT.
3.- Realizo el sellado con openssl para la cadena original con estos comandos

Covierto a PEM la Llave
openssl pkcs8 -inform DER -in "ibc810429pi8_1012011313s.key" -passin pass:xxxxxxxx -out "pi8_1012011313s.PEM"
Crea el sello digital en binario con:
openssl dgst -sha1 -out "sign.bin" -sign "ibc810429pi8_1012011313s.PEM" "FACTURAIBC810429PI82012-08-09184219748.data"
Cadena original(FACTURAIBC810429PI82012-08-09184219748.data)
Convierte el sello digital de binaro a B64
openssl enc -in sign.bin -a -A -out signB64.txt

4.-Vuelvo armar el xml agregando el sello digital y certificado.

5.- Realizo la validacion en la pagina del sat y en validacfd y mensaje

Resumen del análisis del XML
Archivo XML:FACTURAIBC810429PI82012-08-1010956209.xml

Estructura: Estructura del CFD correcta
CFD codificado en: UTF-8.
El comprobante incluye un certificado codificado
El sello del comprobante es Inválido
Detalle del análisis del XML
Resultado de la Digestión SHA1: 6e523f43c29b85a371541694a8064f5acb01a678
Tipo de Certificado: CSD
No. de Serie del CSD: 00001000000102282236

Cadena Original: ||2.2|A|139|2012-08-09T18:50:28|254324|2010|ingreso|PAGO EN UNA SOLA EXHIBICION|Contado|154.00|178.64|NO IDENTIFICADO|MEXICO,DF|IBC811111PI8|CARTAGENA SA DE CV|AVENIDA PASEO|1|1|CHAPULTEPEC|MIGUEL HIDALGO|DISTRITO FEDERAL|MEXICO|11000|MEXICO|REGIMEN GENERAL DE LEY PERSONAS MORALES|PEN1111115E7|ENVASES SA DE CV|HIDALGO|1|INDUSTRIAL |TULTITLAN|TULTITLAN|ESTADO DE MEXICO|MEXICO|54918|1|N/A|PRUEBA|154.00|154.00|IVA|16.00|24.64|24.64||


IMPORTANTE: Los resultados anteriores se presentan a efecto de que valide la estructura,
cadena original y sello de su CFD. Para que una factura electrónica sea válida para
efectos fiscales, deberá reunir los requisitos que establecen las disposiciones fiscales
vigentes.

Espero me puedan apoyar si estoy realizando algo mal

Saludos cordiales

Re: El sello del comprobante es Inválido

Publicado: Lun Ago 20, 2012 12:29 pm
por eusebiocuke
Hola buenas tardes
Tengo un problema similar, en el programa de ValidaCfd me sale un error de "Sello del Emisor Invalido"
Sin embargo al realizar la validacion en la pagina del Sat esta Factura para sin ningun problema

Adjunto el Xml

Re: El sello del comprobante es Inválido

Publicado: Lun Ago 20, 2012 12:36 pm
por kakaroto_69
hola buenas tardes,

A mi en la pagina del sat aun no me valida, el SHA1 ya es identico a como los validadores lo calculan. creo que el problema que tengo es al momento de realizar el RSA con la llave privada y despues realizar el proceso de sellado con el resultado del SHA1 y despues generarlo a base 64.

Tu como realizas tu sellado, puedes poner el ejemplo de tu sellado?


Saludos

Re: El sello del comprobante es Inválido

Publicado: Lun Ago 20, 2012 12:53 pm
por Dado
eusebiocuke escribió:Hola buenas tardes
Tengo un problema similar, en el programa de ValidaCfd me sale un error de "Sello del Emisor Invalido"
Sin embargo al realizar la validacion en la pagina del Sat esta Factura para sin ningun problema

Adjunto el Xml
Tu XML tiene un error de codificacion.

Esta doblemente-codificado por UTF-8, analizalo con un editor hexadecimal para que lo veas, por ejemplo la eñe esta representada por 4 bytes cuando deberia haber solo dos bytes.

Al parecer el SAT si lo puede doble-decodificar y restaurar a su version original y por eso te lo marca como valido.

Re: El sello del comprobante es Inválido

Publicado: Lun Ago 20, 2012 1:28 pm
por kakaroto_69
Este es mi xml el cual me genera error de sello

Re: El sello del comprobante es Inválido

Publicado: Mié Ago 22, 2012 10:15 am
por idc
a mi me pasa lo mismo con el validacfd_cl me marca invalido y en el sat valido. adjunto el archivo para ver si lo puedes revisar


saludos y gracias anticipadamente

Re: El sello del comprobante es Inválido

Publicado: Mié Ago 22, 2012 10:56 am
por Dado
Tu XML tiene un nuevo complemento llamado leyendas fiscales

Actualiza tu validador, asegurate que sea la version 120815 el cual ya tiene soporte para ese complemento

Para actualizarlo checa si tienes un archivo "actualizacion.exe" dentro de la carpeta c:\validacfd y ejecutalo, si no entonces descarga la actualizacion de aqui www.validacfd.com

Re: El sello del comprobante es Inválido

Publicado: Mié Ago 22, 2012 1:36 pm
por kakaroto_69
Buenas tardes amigos del foro,

Estoy atorado en el sello de mi FE, tengo la cadena generada con el archivo cadenaoriginal_2_2.xslt que proporciona el sat, la digestion sha1 de esta cadena es igual a la que me manda el validacfd y el sat al momento de validar mi factura, el problema es el sello me lo marca como invalido.

Estos son las maneras que e intentado sellar

forma 1
rsautl -sign -inkey "c:\ibc810429pi8.KEY.PEM" -keyform PEM -in "c:\sha1.txt" -out "C:\selloprueba.txt"
enc -base64 -in "C:\selloprueba.txt" -out "selloprueba1.txt"

El sha1.txt es la digestion de la cadena desde codigo VB.NET la cual es igual a la de validacfd y sat

Forma2
dgst -sha1 -sign "C:\ibc810429pi8_.KEY.PEM" -out "C:\selloprueba.txt" "C:\FACTURAIBC810429PI82012-08-10112536617.data")
enc -base64 -in "C:\selloprueba.txt" -out "C:\selloprueba1.txt"

forma3 con chilkay

ublic Function GenerarSello()
Dim pkey As New Chilkat.PrivateKey
pkey.LoadPkcs8EncryptedFile("C:\ibc810429pi8_.key", "123456789")
Dim success As Long
Dim pkeyXml As String
pkeyXml = pkey.GetXml()
Dim rsa As New Chilkat.Rsa()

success = rsa.UnlockComponent("Anything for 30-day trial")
If (success <> True) Then
MsgBox("RSA component unlock failed")
Return 0
Exit Function
End If

success = rsa.ImportPrivateKey(pkeyXml)
rsa.Charset = "utf-8"
rsa.EncodingMode = "base64"
rsa.LittleEndian = 0
Dim base64Sig As String
base64Sig = rsa.SignStringENC("C:\FACTURAIBC810429PI82012-08-10112536617.xml", "sha1")
RichTextBox5.Text = base64Sig
GenerarSello = base64Sig
RichTextBox3.Text = GenerarSello
End Function
End Class


El sello que me genera es el siguiente
pzAxwLgbzrFDZhfcLfBSMiS2kWSD4R4c3LTAT0qW5DP+a9AmdFzsothq/1q3GVa7cpvCVFGMS4CGAocFv3ZPklEKysS4y6MUR+JYRz9kxfTmqAtgMTbWWvARy6PeoN9BQKbPR/zmw0qe5VdJ90CKahJ7/X4vacuYP6wawfixzVw=

el cual es invalido para el sat y validacfd

El sello correcto con el cual me valida mi documento es
uqDJKDtgJCaTMzBVMA6LfIJl1P30qMIZPvjrQpzGBcws4X7lULaNJUEgZWb4zd7ooXo3v8DeGBVPAGSBtiTlglU+I41tCQKCR9n6PIbG3ZymdgI0HBHnPKMvUA+PlXrQy7DSM+7mt0KP7e8yCBEE+jSdYllDTIVCrp0v5yM7a7w=


Anexo archivos, espero me puedan orientar en como realizar el sello o si estoy realizando algo mal


Saludos

Re: El sello del comprobante es Inválido

Publicado: Jue Ago 23, 2012 10:34 am
por kakaroto_69
Gracias por sus aportes, por fin pude validar correctamente mi factura con el sello valido.

Como recomendacion verifiquen la cadena que generan y analizen el archivo donde guardan la cadena con un editor hexadecimal. En mi caso el problema era el archivo donde almacenaba la cadena despues de extraerla con el xslt del SAT,al examinarlo con un editor hexadecimal note que al inicio del primer pipe estaban 2 caracteres que no deberian de ir y que desde un notepad no puedes visualizar.

Eliminando esto la digestion, y el sello fueron correctos. Esto lo realize con openssl ahora lo voy a programar en vb.net


Saludos
jlmg

Re: El sello del comprobante es Inválido

Publicado: Vie Ago 24, 2012 2:24 pm
por idc
DADO escribió:Tu XML tiene un nuevo complemento llamado leyendas fiscales

Actualiza tu validador, asegurate que sea la version 120815 el cual ya tiene soporte para ese complemento

Para actualizarlo checa si tienes un archivo "actualizacion.exe" dentro de la carpeta c:\validacfd y ejecutalo, si no entonces descarga la actualizacion de aqui http://www.validacfd.com
no encontre el archivo actualizacion.exe, yo utilizo el VALIDACFD_cl


saludos


vr